CI: pin jekyll/builder image and install gems from the lockfile#1158
Merged
pljones merged 1 commit intoJul 21, 2026
Merged
Conversation
Contributor
|
Just to be clear -- this will fail here because of the problem it's trying to fix. We need to force the merge? |
Contributor
|
Um. Maybe this needs to go to |
Member
|
Yes. Then that update will be automatically merged into next-release. |
The jekyll_site_ci build ran the site build inside the floating
`jekyll/builder:latest` image and relied entirely on the gems baked into
that image (no `bundle install`). When Docker Hub republished `latest`
as Jekyll 4.4.1, its bundled gem set no longer matched the committed
Gemfile.lock (Jekyll 4.3.3, jekyll-polyglot 1.8.1, ...), so Bundler
failed in `Definition#materialize` ("Could not find ... in locally
installed gems") and `jekyll build` exited 1 on every PR.
Pin the image to a fixed tag so it can no longer drift, and run
`bundle install && bundle exec jekyll build` so the committed lockfile
is authoritative and the image only needs to supply Ruby + Bundler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mcfnord
force-pushed
the
ci/pin-jekyll-builder-and-bundle-install
branch
from
July 21, 2026 20:18
89e0755 to
712f3e0
Compare
Contributor
Author
|
Retargeted to As noted above, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
jekyll_site_ciis currently failing on every PR (e.g. #1145), in the Build the site in the jekyll/builder container step:while the container is running Jekyll 4.4.1.
Root cause
The build ran inside the floating
jekyll/builder:latestimage and relied entirely on the gems baked into that image (there was nobundle install). Docker Hub recently republishedlatestas Jekyll 4.4.1, whose bundled gem set no longer matches the committedGemfile.lock(Jekyll 4.3.3, jekyll-polyglot 1.8.1, ...). Bundler can't reconcile the lockfile against the image's preinstalled gems, so it fails inDefinition#materializeandjekyll buildexits 1.This is environmental, not a defect in any page content — it broke all open PRs at once when the upstream tag moved. (There is no
jekyll/builder:4.3.3tag on Docker Hub, so the lockfile could no longer be satisfied bylatest.)Fix
jekyll/builder:4.4.1) so it can no longer silently drift.bundle install && bundle exec jekyll buildso the committedGemfile.lockis authoritative and the image only needs to supply Ruby + Bundler.This unblocks #1145 and the other open PRs. Supersedes the empty WIP #1155.
Note
An alternative would be to regenerate
Gemfile.lockagainst 4.4.1 and keep the fast no-install path, but that requires confirming the plugins (jekyll-polyglot / jekyll-minifier / jekyll-paginate-v2) are 4.4-compatible. Installing from the lockfile is the lower-risk unblock.🤖 Generated with Claude Code