From 3198912557a23733d38bd7fddec470ac37b5fb3c Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Fri, 3 Oct 2025 17:08:46 -1000 Subject: [PATCH 1/4] Update Ruby version from 3.3.4 to 3.4.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .controlplane/Dockerfile | 2 +- .github/actions/setup-environment/action.yml | 2 +- .github/workflows/js_test.yml | 2 +- .github/workflows/lint_test.yml | 2 +- .github/workflows/rspec_test.yml | 2 +- .ruby-version | 2 +- Gemfile | 6 +++--- Gemfile.lock | 4 +--- conductor-setup.sh | 2 +- 9 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.controlplane/Dockerfile b/.controlplane/Dockerfile index 8a809700f..265442d37 100644 --- a/.controlplane/Dockerfile +++ b/.controlplane/Dockerfile @@ -1,5 +1,5 @@ # Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile -ARG RUBY_VERSION=3.3.4 +ARG RUBY_VERSION=3.4.6 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base # Current commit hash environment variable diff --git a/.github/actions/setup-environment/action.yml b/.github/actions/setup-environment/action.yml index e9212d6e0..cdd7fb272 100644 --- a/.github/actions/setup-environment/action.yml +++ b/.github/actions/setup-environment/action.yml @@ -17,7 +17,7 @@ runs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3.4' + ruby-version: '3.4.6' - name: Install Control Plane CLI and cpflow gem shell: bash diff --git a/.github/workflows/js_test.yml b/.github/workflows/js_test.yml index ba48c5371..46b6267cb 100644 --- a/.github/workflows/js_test.yml +++ b/.github/workflows/js_test.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: node: [22.x] - ruby: [3.3.4] + ruby: [3.4.6] env: RAILS_ENV: test diff --git a/.github/workflows/lint_test.yml b/.github/workflows/lint_test.yml index 777aaa2b0..9623e38e0 100644 --- a/.github/workflows/lint_test.yml +++ b/.github/workflows/lint_test.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: node: [22.x] - ruby: [3.3.4] + ruby: [3.4.6] env: RAILS_ENV: test diff --git a/.github/workflows/rspec_test.yml b/.github/workflows/rspec_test.yml index 4d5625ec3..d117458a6 100644 --- a/.github/workflows/rspec_test.yml +++ b/.github/workflows/rspec_test.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: node: [22.x] - ruby: [3.3.4] + ruby: [3.4.6] services: postgres: diff --git a/.ruby-version b/.ruby-version index a0891f563..1cf825302 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.4 +3.4.6 diff --git a/Gemfile b/Gemfile index 3cad0baed..bcdabcd64 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,7 @@ source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } -ruby "3.3.4" +ruby "3.4.6" gem "react_on_rails", "16.1.1" gem "shakapacker", "9.0.0.beta.8" @@ -45,9 +45,9 @@ gem "autoprefixer-rails" gem "awesome_print" -# Needed until Ruby 3.3.4 is released https://github.com/ruby/ruby/pull/11006 +# Needed until Ruby 3.4.6 is released https://github.com/ruby/ruby/pull/11006 # Related issue: https://github.com/ruby/net-pop/issues/26 -# TODO: When Ruby 3.3.4 is released, upgrade Ruby and remove this line +# TODO: When Ruby 3.4.6 is released, upgrade Ruby and remove this line gem "net-pop", github: "ruby/net-pop" gem "redcarpet" diff --git a/Gemfile.lock b/Gemfile.lock index 3bb28892c..4e5a098bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -148,8 +148,6 @@ GEM factory_bot (~> 6.4) railties (>= 5.0.0) ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) foreman (0.88.1) generator_spec (0.10.0) activesupport (>= 3.0.0) @@ -508,7 +506,7 @@ DEPENDENCIES web-console RUBY VERSION - ruby 3.3.4p94 + ruby 3.4.6p54 BUNDLED WITH 2.4.17 diff --git a/conductor-setup.sh b/conductor-setup.sh index 78d7adc41..cb1fd7b12 100755 --- a/conductor-setup.sh +++ b/conductor-setup.sh @@ -3,7 +3,7 @@ set -e echo "🚀 Setting up React on Rails workspace..." -# Note: This project requires Ruby 3.3.4. +# Note: This project requires Ruby 3.4.6. # Please ensure you have the correct Ruby version active before running this script. # Copy environment files if they exist in the root From 13e2f12471d65f092f85cb292300683369ebf7e1 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Fri, 3 Oct 2025 21:00:11 -1000 Subject: [PATCH 2/4] Add libyaml-dev to Dockerfile for psych gem compilation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ruby 3.4.6 requires libyaml-dev to build the psych gem. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .controlplane/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.controlplane/Dockerfile b/.controlplane/Dockerfile index 265442d37..deb89a37a 100644 --- a/.controlplane/Dockerfile +++ b/.controlplane/Dockerfile @@ -8,7 +8,7 @@ ENV GIT_COMMIT_SHA=${GIT_COMMIT} # Install packages needed to build gems and node modules RUN apt-get update -qq && \ - apt-get install --no-install-recommends -y build-essential curl git libpq-dev libvips node-gyp pkg-config python-is-python3 + apt-get install --no-install-recommends -y build-essential curl git libyaml-dev libpq-dev libvips node-gyp pkg-config python-is-python3 # Install JavaScript dependencies # Make sure NODE_VERSION matches the node version in .nvmrc and package.json From c39d179b563aa7072e00f42f876fb1950d5d808c Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Fri, 3 Oct 2025 21:33:37 -1000 Subject: [PATCH 3/4] Add cross-platform support to Gemfile.lock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add arm64-darwin and x86_64-linux-gnu platforms to ensure proper gem installation across macOS (ARM) and Linux systems. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- Gemfile.lock | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gemfile.lock b/Gemfile.lock index 4e5a098bd..bf6f880f2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -453,9 +453,11 @@ GEM zeitwerk (2.7.3) PLATFORMS + arm64-darwin arm64-darwin-22 ruby x86_64-linux + x86_64-linux-gnu DEPENDENCIES autoprefixer-rails From d9f4da4619668859e783065e8695b026c9caf125 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Fri, 3 Oct 2025 21:44:20 -1000 Subject: [PATCH 4/4] Remove net-pop GitHub workaround for Ruby 3.4.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The net-pop dependency issue was specific to Ruby 3.3.3 and was fixed in Ruby 3.3.4. Ruby 3.4.6 includes the fix, so the GitHub workaround is no longer needed. Using the standard gem from RubyGems. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- Gemfile | 5 ----- Gemfile.lock | 10 ++-------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index bcdabcd64..ac5cbf1f6 100644 --- a/Gemfile +++ b/Gemfile @@ -45,11 +45,6 @@ gem "autoprefixer-rails" gem "awesome_print" -# Needed until Ruby 3.4.6 is released https://github.com/ruby/ruby/pull/11006 -# Related issue: https://github.com/ruby/net-pop/issues/26 -# TODO: When Ruby 3.4.6 is released, upgrade Ruby and remove this line -gem "net-pop", github: "ruby/net-pop" - gem "redcarpet" # jquery as the JavaScript library has been moved under /client and managed by npm. diff --git a/Gemfile.lock b/Gemfile.lock index bf6f880f2..bf1ddeade 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,10 +1,3 @@ -GIT - remote: https://github.com/ruby/net-pop.git - revision: e8d0afe2773b9eb6a23c39e9e437f6fc0fc7c733 - specs: - net-pop (0.1.2) - net-protocol - GEM remote: https://rubygems.org/ specs: @@ -193,6 +186,8 @@ GEM net-imap (0.5.10) date net-protocol + net-pop (0.1.2) + net-protocol net-protocol (0.2.2) timeout net-smtp (0.5.1) @@ -474,7 +469,6 @@ DEPENDENCIES jbuilder launchy listen - net-pop! pg pry pry-byebug