Repository navigation
Fix Jekyll CI: stop depending on jekyll/builder:latest - #27
Merged
Merged
Conversation
The jekyll/builder Docker image's :latest tag drifted and no longer vendors a github-pages gem satisfying our Gemfile's `~> 231` pin, so Bundler.setup failed on every push (first failure: 2026-08-21, after succeeding through 2026-06-16). Replace the Docker step with ruby/setup-ruby + bundler-cache, which does a real `bundle install` against rubygems.org each run instead of relying on a moving image tag. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bundler-cache installs gems into vendor/bundle inside the repo, and our custom `exclude:` list in _config.yml overrides Jekyll's own default excludes (which normally skip vendor/bundle). Without it, jekyll build tried to process the installed jekyll gem's own _posts/*.erb template as site content and failed on its placeholder date. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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
The `Jekyll site CI` workflow started failing on every push (first failure: the "publications updated" commit), even though nothing in the site content changed. Root cause is unrelated to any recent content edit:
```
Could not find gem 'github-pages (~> 231)' in locally installed gems. (Bundler::GemNotFound)
```
The workflow ran `jekyll build` inside the `jekyll/builder:latest` Docker image without ever running `bundle install`. Jekyll's plugin loader calls `Bundler.setup`, which only activates gems already vendored inside the image — it can't fetch anything. Our `Gemfile` pins `github-pages ~> 231` (unchanged since 2024) and built successfully as recently as 2026-06-16. Since `:latest` is a moving tag, a newer rebuild of that image apparently dropped/changed its baked-in `github-pages` version, breaking the build with no code change on our side.
Fix
Replace the Docker step with the standard `ruby/setup-ruby` action (`bundler-cache: true`), which runs a real `bundle install` against rubygems.org on every run (cached for speed) instead of depending on whatever happens to be pre-installed in a third-party `:latest` image.
🤖 Generated with Claude Code