Skip to content

build: commit Gemfile.lock and add dependabot - #18

Merged
jbutte merged 1 commit into
mainfrom
dependabot-actions
Sep 17, 2026
Merged

jbutte merged 1 commit into
mainfrom
dependabot-actions

Conversation

@jbutte

@jbutte jbutte commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Resolution was fresh on every run, so two checkouts a week apart could run different rspec-core or redis versions, and dependency drift never showed up in a diff. Committing the lock pins the default resolution.

The matrix still resolves past it — each leg pins its own combination through the gemspec env hooks — so build.yml drops the lock before installing. I confirmed that without this, bundler re-resolves anyway and silently rewrites the lock every run (rspec-core 3.13.63.12.3), so the explicit rm just makes the existing behaviour honest.

Lint keeps the lock and fails if bundler had to rewrite it, which catches a version bump that forgot to regenerate it. Worth noting: because the Gemfile uses gemspec, the lock records rspecq's own version, so a version bump must include the regenerated lock.

Dependabot covers both ecosystems — github-actions to move the SHA pins, which otherwise freeze permanently, and bundler, which only becomes useful now that there's a lockfile to bump.

⚠️ Do not add bundle config set frozen true later. Frozen mode plus env-pinned gemspec deps breaks the matrix outright — I hit exactly that while testing.

refs DE-1818

Test plan

  • Lint clean, suite green with the lock committed
  • Verified bundler rewrites the lock when env hooks pin different versions
  • Lint's Gemfile.lock is up to date check passes on CI — confirms setup-ruby installs the bundler from BUNDLED WITH rather than churning the line
  • All 5 matrix legs green

🤖 Generated with Claude Code

Resolution was fresh on every run, so two checkouts a week apart could
run different rspec-core or redis versions, and dependency drift never
showed up in a diff. The lock pins the default resolution.

The matrix still resolves past it — each leg pins its own combination
through the gemspec env hooks — so build.yml drops the lock before
installing. Without that, bundler re-resolves anyway and rewrites it on
every run. Lint keeps the lock and fails if bundler had to rewrite it,
which catches a version bump that forgot to regenerate it.

Dependabot covers both ecosystems: github-actions to move the SHA pins,
which otherwise freeze permanently, and bundler, which only becomes
useful now that there is a lockfile to bump.

refs DE-1818

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jbutte
jbutte merged commit 5bc0208 into main Sep 17, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant