Skip to content

[OMBU-821] Upgrade to Ruby 3.3.12 - #18

Merged
JuanVqz merged 3 commits into
mainfrom
feature/ruby-3-3-12
Aug 20, 2026
Merged

[OMBU-821] Upgrade to Ruby 3.3.12#18
JuanVqz merged 3 commits into
mainfrom
feature/ruby-3-3-12

Conversation

@JuanVqz

@JuanVqz JuanVqz commented Aug 20, 2026

Copy link
Copy Markdown
Member

from review app this is working

Screenshot 2026-08-20 at 12 19 19

Ruby 3.1.7 blocked deploying to a current Heroku stack. Move to 3.3.12
in the Gemfile, both lockfiles, and both CI jobs.

pg had to move from 1.2.3 to 1.6.3 as part of this: pg 1.2.3 uses
rb_cData, which was removed from Ruby's C API in 3.2, so it cannot
compile on any Ruby >= 3.2. The Gemfile constraint (>= 0.18, < 2.0)
already allowed it, so only the lockfiles changed. 1.6.3 resolves to
precompiled platform gems, including x86_64-linux for CI and Heroku.

Verified on Ruby 3.3.12: bundle install clean and `bundle exec rake`
green on both Gemfile (Rails 7.1.6) and Gemfile.next (Rails 7.2.3).
Update the stack from heroku-22 to heroku-26, the latest public stack
(heroku-24 is still the API default). Ruby 3.3.12 binaries are
available for heroku-24 and heroku-26 on both amd64 and arm64.

The env vars were declared "required": true with no values, which
means an unattended review app deploy has nothing to fill them with.
Give them explicit values and generate SECRET_KEY_BASE instead.

Also pin the Postgres plan explicitly to essential-0 (the current
default; hobby-dev no longer exists) and add an environments.review
section so review app provisioning is predictable.

Note: this does not create review apps on its own. The repo still
needs a Heroku pipeline with GitHub connected and review apps enabled.
The rails-next CI job runs `bundle update rails`, which re-resolves the
whole tree and picked up minitest 6.0.6, failing before any test ran:

  railties-7.2.3/lib/rails/test_unit/line_filtering.rb:7:in `run':
  wrong number of arguments (given 3, expected 1..2) (ArgumentError)

minitest 6 calls run_suite(reporter, options), but railties' LineFiltering
only defines run(reporter, options). Rails handles both only from 8.0.5.1
and 8.1.2 onward; it was never backported to 7.1 or 7.2.

Rails 7.2.3.2 caps minitest at "< 6" upstream, so the next job would also
go green by bumping Rails. Rails 7.1.6 has no such cap, so the current job
stays exposed on any re-resolve. Pin explicitly to cover both.

Verified on Ruby 3.3.12: `bundle exec rake` green for Gemfile (7.1.6) and
Gemfile.next (7.2.3), and for `bundle update rails` as CI runs it (7.2.3.2).
@JuanVqz
JuanVqz temporarily deployed to ips-feature-ruby-3-3-12-lnyqwn August 20, 2026 18:30 Inactive
@JuanVqz
JuanVqz merged commit 5c8ca9f into main Aug 20, 2026
2 checks passed
@JuanVqz
JuanVqz deleted the feature/ruby-3-3-12 branch August 20, 2026 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant