From dad9009a74b71085b9dc23027238804f53e45485 Mon Sep 17 00:00:00 2001 From: Chris Zetter <253059100+zetter-rpf@users.noreply.github.com> Date: Wed, 27 May 2026 15:04:20 +0100 Subject: [PATCH 1/2] Upgrade to Ruby 4 --- .tool-versions | 2 +- AGENTS.md | 2 +- Dockerfile | 2 +- Gemfile.lock | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.tool-versions b/.tool-versions index 58766197c..aac7389b8 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -ruby 3.4.8 +ruby 4.0.5 diff --git a/AGENTS.md b/AGENTS.md index 255e5dbf7..b53622f7a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,7 +34,7 @@ docker compose up - Full suite: `docker compose run --rm api rspec` - Single spec: `docker compose run --rm api rspec spec/path/to/spec.rb` - Lint: `docker compose run --rm api bundle exec rubocop` -- CI: GitHub Actions with Ruby 3.4, Postgres 12, Redis. +- CI: GitHub Actions with Ruby 4, Postgres 12, Redis. ## Where to Look First - Routes: `config/routes.rb`. Auth: `config/initializers/omniauth.rb`, `app/helpers/authentication_helper.rb`, `app/controllers/concerns/identifiable.rb`. diff --git a/Dockerfile b/Dockerfile index 2275fb630..0fc698486 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.4.8-slim-trixie AS base +FROM ruby:4.0.5-slim-trixie AS base RUN gem install bundler \ && apt-get update \ && apt-get upgrade --yes \ diff --git a/Gemfile.lock b/Gemfile.lock index 9b465f7a1..cd5043047 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -183,6 +183,7 @@ GEM logger faraday-net_http (3.4.2) net-http (~> 0.5) + ffi (1.17.2) ffi (1.17.2-aarch64-linux-gnu) ffi (1.17.2-arm64-darwin) ffi (1.17.2-x86_64-linux-gnu) @@ -644,7 +645,7 @@ DEPENDENCIES webmock RUBY VERSION - ruby 3.4.8 + ruby 4.0.5 BUNDLED WITH 4.0.10 From b592cc2b0b49c2c9c62779cd83cb268925a7f76d Mon Sep 17 00:00:00 2001 From: Chris Zetter <253059100+zetter-rpf@users.noreply.github.com> Date: Mon, 1 Jun 2026 09:05:19 +0100 Subject: [PATCH 2/2] Update ffi for ruby 4 compatibility Saw this error when running with docker: > ffi-1.17.2-aarch64-linux-gnu requires ruby version >= 2.5, < 3.5.dev, which is incompatible with the current version, 4.0.5 --- Gemfile.lock | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cd5043047..4c21393a0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -183,10 +183,9 @@ GEM logger faraday-net_http (3.4.2) net-http (~> 0.5) - ffi (1.17.2) - ffi (1.17.2-aarch64-linux-gnu) - ffi (1.17.2-arm64-darwin) - ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.4-aarch64-linux-gnu) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-linux-gnu) fiber-storage (1.0.1) flipper (1.4.2) concurrent-ruby (< 2)