From 16d69ccca4186b90c4c57485b62298e05d455a1b Mon Sep 17 00:00:00 2001 From: John Pearson Date: Thu, 17 Sep 2026 15:13:58 -0400 Subject: [PATCH] Add .ruby-version pinning Ruby 3.3 to match CI The Gemfile.lock github-pages pins (activesupport 8.1.3, nokogiri 1.19.4) require Ruby >= 3.2, so bundle install under an older local Ruby re-resolves the whole bundle downward -- activesupport 8.1.3 to 3.1.12, nokogiri 1.19.4 to 1.18.10 -- and leaves Gemfile.lock permanently dirty. That rewritten lock is needed for the local preview to start but must never be committed, which makes an uncommittable modification a standing fixture of git status. Pinning 3.3 here lets chruby's auto.sh (and rbenv/rvm, which read the same file) switch automatically on entering the repo, so bundle install reproduces the committed lock byte-for-byte and the working tree stays clean. Verified on Ruby 3.3.12: bundle install installs the pinned versions with no downgrades, leaves Gemfile.lock unmodified, and bundle exec jekyll build succeeds. Deliberately '3.3' and not '3.3.12'. Version managers prefix-match, so this keeps working across 3.3.x patch bumps, and it mirrors the ruby-version: '3.3' already set in site-health.yml. That workflow passes ruby-version explicitly, which takes precedence over this file, so CI behaviour is unchanged. Co-Authored-By: Claude Opus 5 (1M context) --- .ruby-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .ruby-version diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..eb39e53 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.3