From 9bbc2bc5d618443496d6740d77eaaaff1f5baf4d Mon Sep 17 00:00:00 2001 From: William Kurosawa Date: Thu, 6 Aug 2026 16:41:03 -0700 Subject: [PATCH 1/2] Upgrade Docker base image to Debian trixie MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Debian bullseye reaches end of life; move the container base to trixie. The official `ruby` Docker Hub images have no trixie variant for any 3.1.x release (3.1 is EOL and no longer rebuilt), so the smallest possible move is to the newest patch of the next minor line: ruby:3.2.11-trixie. `.ruby-version` and the manual setup doc are updated to match so local and Docker setups stay in sync for external readers of this sample app. Verified by building both the old and new images and running rubocop, a Rails boot check, the test task and an HTTP smoke test of the running server against each, on arm64 and amd64 — behaviour is identical. PENG-1896 Co-Authored-By: Claude Opus 5 (1M context) --- .ruby-version | 2 +- Dockerfile | 2 +- docs/manual_setup.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.ruby-version b/.ruby-version index 9cec716..17ce918 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1.6 +3.2.11 diff --git a/Dockerfile b/Dockerfile index f7beb39..7a89dde 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1.6-bullseye +FROM ruby:3.2.11-trixie RUN apt-get update -qq && apt-get install -y nodejs diff --git a/docs/manual_setup.md b/docs/manual_setup.md index 7e68c12..711840a 100644 --- a/docs/manual_setup.md +++ b/docs/manual_setup.md @@ -4,7 +4,7 @@ Before continuing with this setup, ensure that you have your valid API key pairs ### Ruby and Rails -This application utilizes Ruby `3.1.6` and Rails `7.0.8.4`. These can be installed through a variety of methods using different package managers, choose the right one for your system and preferences. +This application utilizes Ruby `3.2.11` and Rails `7.0.8.4`. These can be installed through a variety of methods using different package managers, choose the right one for your system and preferences. ### Start From c18c4aee3078bcba121dec88bfd54ad9d81c2954 Mon Sep 17 00:00:00 2001 From: William Kurosawa Date: Thu, 6 Aug 2026 18:16:49 -0700 Subject: [PATCH 2/2] Target Ruby 3.3.12 rather than 3.2.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Review caught that 3.2.11-trixie is the wrong landing spot. Ruby 3.2 reached EOL on 2026-03-31, so Docker stopped rebuilding that tag: it was last pushed 2026-04-14 and there is no 3.2.12 to move to. Picking it would have swapped one unpatched base image for another and booked a repeat of this ticket. ruby:3.2.11-trixie last pushed 2026-04-14 (EOL, frozen) ruby:3.3.12-trixie last pushed 2026-08-05 (supported to 2027-03-31) 3.3 rather than 3.4 because Ruby 3.4 moved mutex_m, base64 and bigdecimal from default to bundled gems, and Rails 7.0's ActiveSupport requires mutex_m without declaring it — a hard LoadError under Bundler that Rails 7.0 will never be patched for. Verified on 3.3.12: nokogiri 1.13.10 (Oct 2022, the oldest native extension in the lockfile) compiles, bundle check passes, rubocop reports the same 4 pre-existing offenses, Rails boots 7.0.8.4, and GET / returns 200 with 1972 bytes and the same title as on bullseye. Co-Authored-By: Claude Opus 5 (1M context) --- .ruby-version | 2 +- Dockerfile | 2 +- docs/manual_setup.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.ruby-version b/.ruby-version index 17ce918..4d541eb 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.11 +3.3.12 diff --git a/Dockerfile b/Dockerfile index 7a89dde..b1370fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.2.11-trixie +FROM ruby:3.3.12-trixie RUN apt-get update -qq && apt-get install -y nodejs diff --git a/docs/manual_setup.md b/docs/manual_setup.md index 711840a..cd84757 100644 --- a/docs/manual_setup.md +++ b/docs/manual_setup.md @@ -4,7 +4,7 @@ Before continuing with this setup, ensure that you have your valid API key pairs ### Ruby and Rails -This application utilizes Ruby `3.2.11` and Rails `7.0.8.4`. These can be installed through a variety of methods using different package managers, choose the right one for your system and preferences. +This application utilizes Ruby `3.3.12` and Rails `7.0.8.4`. These can be installed through a variety of methods using different package managers, choose the right one for your system and preferences. ### Start