Skip to content

ci: Local bin/relock flow with mise#2980

Open
sl0thentr0py wants to merge 4 commits into
masterfrom
neel/relock
Open

ci: Local bin/relock flow with mise#2980
sl0thentr0py wants to merge 4 commits into
masterfrom
neel/relock

Conversation

@sl0thentr0py

@sl0thentr0py sl0thentr0py commented Jun 23, 2026

Copy link
Copy Markdown
Member
  • list all required rubies in .mise.toml and install with mise install
    • leave note in CONTRIBUTING.md for ruby 3.0 patch needed on latest macos
  • add a bin/relock script
    • ./bin/relock: regenerate all lockfiles
    • ./bin/relock -l: list all cells in matrix
    • ./bin/relock --cell <cell>: regenerate lockfile for single cell
    • ./bin/relock --gem <gem>: regenerate lockfiles for one gem
  • use bin/relock in update-lockfiles.yml workflow
    • add summary of changed gems in PR description
  • split devcontainer latest pin to a separate MISE_ENV

Issues

@sl0thentr0py sl0thentr0py force-pushed the neel/relock branch 2 times, most recently from 6f4186e to b5cac36 Compare June 23, 2026 12:07
@sl0thentr0py sl0thentr0py changed the title relock wip ci: Local bin/relock flow with mise Jun 23, 2026
@sl0thentr0py sl0thentr0py marked this pull request as ready for review June 23, 2026 13:08
@linear-code

linear-code Bot commented Jun 23, 2026

Copy link
Copy Markdown

RUBY-180

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 5a1e653. Configure here.

Comment thread .github/workflows/update_lockfiles.yml
Comment thread bin/relock
Comment thread bin/relock Outdated
@sl0thentr0py sl0thentr0py requested review from dingsdax and solnic June 23, 2026 13:18
Comment thread .github/workflows/update_lockfiles.yml
Comment thread bin/relock
Comment thread bin/relock
# See --help for all options.

require "optparse"
require "shellwords"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think this is used.

Comment thread bin/relock

@solnic solnic left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome overall, very happy to see such a solution.

I tested it out and it seems like graphql is problematic in my case:

Writing lockfile to /workspace/sentry/sentry-ruby/gemfiles/ruby-4.0_rack-3_redis-4.gemfile.lock
Fetching gem metadata from https://rubygems.org/..........
Could not find gems matching 'graphql (>= 2.2.6)' valid for all resolution platforms (ruby, x86_64-linux, aarch64-linux) in rubygems repository
https://rubygems.org/ or installed locally.

The source contains the following gems matching 'graphql (>= 2.2.6)':
  * graphql-2.2.6
  * graphql-2.2.7
  * graphql-2.2.8
  * graphql-2.2.9
  * graphql-2.2.10
  * graphql-2.2.11
  * graphql-2.2.12
  * graphql-2.2.13
  * graphql-2.2.14
  * graphql-2.2.15
  * graphql-2.2.16
  * graphql-2.2.17
  * graphql-2.3.0
  * graphql-2.3.1
  * graphql-2.3.2
  * graphql-2.3.3
  * graphql-2.3.4
  * graphql-2.3.5
  * graphql-2.3.6
  * graphql-2.3.7
  * graphql-2.3.8
  * graphql-2.3.9
  * graphql-2.3.10
  * graphql-2.3.11
  * graphql-2.3.12
  * graphql-2.3.13
  * graphql-2.3.14
  * graphql-2.3.15
  * graphql-2.3.16
  * graphql-2.3.17
  * graphql-2.3.18
  * graphql-2.3.19
  * graphql-2.3.20
  * graphql-2.3.21
  * graphql-2.3.22
  * graphql-2.3.23
  * graphql-2.4.0
  * graphql-2.4.1
  * graphql-2.4.2
  * graphql-2.4.3
  * graphql-2.4.4
  * graphql-2.4.5
  * graphql-2.4.6
  * graphql-2.4.7
  * graphql-2.4.8
  * graphql-2.4.9
  * graphql-2.4.10
  * graphql-2.4.11
  * graphql-2.4.12
  * graphql-2.4.13
  * graphql-2.4.14
  * graphql-2.4.15
  * graphql-2.4.16
  * graphql-2.4.17
  * graphql-2.4.18
  * graphql-2.5.0
  * graphql-2.5.1
  * graphql-2.5.2
  * graphql-2.5.3
  * graphql-2.5.4
  * graphql-2.5.5
  * graphql-2.5.6
  * graphql-2.5.7
  * graphql-2.5.8
  * graphql-2.5.9
  * graphql-2.5.10
  * graphql-2.5.11
  * graphql-2.5.12
  * graphql-2.5.13
  * graphql-2.5.14
  * graphql-2.5.15
  * graphql-2.5.16
  * graphql-2.5.17
  * graphql-2.5.18
  * graphql-2.5.19
  * graphql-2.5.20
  * graphql-2.5.21
  * graphql-2.5.22
  * graphql-2.5.23
  * graphql-2.5.24
  * graphql-2.5.25
  * graphql-2.5.26
  * graphql-2.6.0
  * graphql-2.6.1
  * graphql-2.6.2
  * graphql-2.6.3
          ✗ failed after 2.1s

Comment thread bin/relock
mkdir -p "$(dirname "$BUNDLE_GEMFILE")"
echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE"
# --add-checksums needs Bundler >= 2.5; fall back to a plain update on older Rubies.
bundle lock --update --add-checksums || bundle lock --update

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This produces confusing noise:

Unknown switches "--add-checksums"

I would actually recommend suppressing this because it's not immediately clear whether it's a problem or not.

Copy link
Copy Markdown
Contributor

same for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants