Skip to content

Please add Ruby 3.3 support #15182

@JunichiIto

Description

@JunichiIto

Like #11407 , I'm facing the same problem when pushing Ruby 3.3 app to Heroku:

Enumerating objects: 53, done.
Counting objects: 100% (53/53), done.
Delta compression using up to 8 threads
Compressing objects: 100% (35/35), done.
Writing objects: 100% (36/36), 10.60 KiB | 5.30 MiB/s, done.
Total 36 (delta 26), reused 0 (delta 0), pack-reused 0
remote: Updated 714 paths from d51c3c2
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Building on the Heroku-22 stack
remote: -----> Using buildpack: heroku/ruby
remote: -----> Ruby app detected
remote: -----> Installing bundler 2.3.25
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-3.3.0.rc1
remote:        Ruby version change detected. Clearing bundler cache.
remote:        Old: ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux]
remote:        New: ruby 3.3.0rc1 (2023-12-11 master a49643340e) [x86_64-linux]
remote: -----> Installing dependencies using bundler 2.3.25
remote:        Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote:        Fetching gem metadata from https://rubygems.org/.........
remote:        google-protobuf-3.25.1-x86_64-linux requires ruby version < 3.3.dev, >= 2.7,
remote:        which is incompatible with the current version, 3.3.0.rc1
remote:        Bundler Output: Fetching gem metadata from https://rubygems.org/.........
remote:        google-protobuf-3.25.1-x86_64-linux requires ruby version < 3.3.dev, >= 2.7,
remote:        which is incompatible with the current version, 3.3.0.rc1
remote: 
remote:  !
remote:  !     Failed to install gems via Bundler.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !       Push rejected to foo-bar.
remote: 
To https://git.heroku.com/foo-bar.git
 ! [remote rejected] update-gems -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/foo-bar.git'

Here is my Gemfile.lock:

Gemfile.lock
GEM
  remote: https://rubygems.org/
  specs:
    act_as_fire_record_beta (0.0.11)
      google-cloud-firestore
      rails
    actioncable (7.1.2)
      actionpack (= 7.1.2)
      activesupport (= 7.1.2)
      nio4r (~> 2.0)
      websocket-driver (>= 0.6.1)
      zeitwerk (~> 2.6)
    actionmailbox (7.1.2)
      actionpack (= 7.1.2)
      activejob (= 7.1.2)
      activerecord (= 7.1.2)
      activestorage (= 7.1.2)
      activesupport (= 7.1.2)
      mail (>= 2.7.1)
      net-imap
      net-pop
      net-smtp
    actionmailer (7.1.2)
      actionpack (= 7.1.2)
      actionview (= 7.1.2)
      activejob (= 7.1.2)
      activesupport (= 7.1.2)
      mail (~> 2.5, >= 2.5.4)
      net-imap
      net-pop
      net-smtp
      rails-dom-testing (~> 2.2)
    actionpack (7.1.2)
      actionview (= 7.1.2)
      activesupport (= 7.1.2)
      nokogiri (>= 1.8.5)
      racc
      rack (>= 2.2.4)
      rack-session (>= 1.0.1)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
    actiontext (7.1.2)
      actionpack (= 7.1.2)
      activerecord (= 7.1.2)
      activestorage (= 7.1.2)
      activesupport (= 7.1.2)
      globalid (>= 0.6.0)
      nokogiri (>= 1.8.5)
    actionview (7.1.2)
      activesupport (= 7.1.2)
      builder (~> 3.1)
      erubi (~> 1.11)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
    activejob (7.1.2)
      activesupport (= 7.1.2)
      globalid (>= 0.3.6)
    activemodel (7.1.2)
      activesupport (= 7.1.2)
    activerecord (7.1.2)
      activemodel (= 7.1.2)
      activesupport (= 7.1.2)
      timeout (>= 0.4.0)
    activestorage (7.1.2)
      actionpack (= 7.1.2)
      activejob (= 7.1.2)
      activerecord (= 7.1.2)
      activesupport (= 7.1.2)
      marcel (~> 1.0)
    activesupport (7.1.2)
      base64
      bigdecimal
      concurrent-ruby (~> 1.0, >= 1.0.2)
      connection_pool (>= 2.2.5)
      drb
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      mutex_m
      tzinfo (~> 2.0)
    addressable (2.8.6)
      public_suffix (>= 2.0.2, < 6.0)
    base64 (0.2.0)
    bigdecimal (3.1.5)
    bindex (0.8.1)
    bootsnap (1.17.0)
      msgpack (~> 1.2)
    builder (3.2.4)
    capybara (3.39.2)
      addressable
      matrix
      mini_mime (>= 0.1.3)
      nokogiri (~> 1.8)
      rack (>= 1.6.0)
      rack-test (>= 0.6.3)
      regexp_parser (>= 1.5, < 3.0)
      xpath (~> 3.2)
    coffee-rails (5.0.0)
      coffee-script (>= 2.2.0)
      railties (>= 5.2.0)
    coffee-script (2.4.1)
      coffee-script-source
      execjs
    coffee-script-source (1.12.2)
    concurrent-ruby (1.2.2)
    connection_pool (2.4.1)
    crass (1.0.6)
    date (3.3.4)
    diff-lcs (1.5.0)
    dotenv (2.8.1)
    dotenv-rails (2.8.1)
      dotenv (= 2.8.1)
      railties (>= 3.2)
    drb (2.2.0)
      ruby2_keywords
    erubi (1.12.0)
    execjs (2.9.1)
    faraday (2.8.1)
      base64
      faraday-net_http (>= 2.0, < 3.1)
      ruby2_keywords (>= 0.0.4)
    faraday-net_http (3.0.2)
    faraday-retry (2.2.0)
      faraday (~> 2.0)
    ffi (1.16.3)
    gapic-common (0.21.1)
      faraday (>= 1.9, < 3.a)
      faraday-retry (>= 1.0, < 3.a)
      google-protobuf (~> 3.18)
      googleapis-common-protos (>= 1.4.0, < 2.a)
      googleapis-common-protos-types (>= 1.11.0, < 2.a)
      googleauth (~> 1.9)
      grpc (~> 1.59)
    globalid (1.2.1)
      activesupport (>= 6.1)
    google-cloud-core (1.6.1)
      google-cloud-env (>= 1.0, < 3.a)
      google-cloud-errors (~> 1.0)
    google-cloud-env (2.1.0)
      faraday (>= 1.0, < 3.a)
    google-cloud-errors (1.3.1)
    google-cloud-firestore (2.13.1)
      concurrent-ruby (~> 1.0)
      google-cloud-core (~> 1.5)
      google-cloud-firestore-v1 (~> 0.10)
      rbtree (~> 0.4.2)
    google-cloud-firestore-v1 (0.10.0)
      gapic-common (>= 0.17.1, < 2.a)
      google-cloud-errors (~> 1.0)
      google-cloud-location (>= 0.4, < 2.a)
    google-cloud-location (0.6.0)
      gapic-common (>= 0.20.0, < 2.a)
      google-cloud-errors (~> 1.0)
    google-protobuf (3.25.1)
    google-protobuf (3.25.1-x86_64-linux)
    googleapis-common-protos (1.4.0)
      google-protobuf (~> 3.14)
      googleapis-common-protos-types (~> 1.2)
      grpc (~> 1.27)
    googleapis-common-protos-types (1.11.0)
      google-protobuf (~> 3.18)
    googleauth (1.9.1)
      faraday (>= 1.0, < 3.a)
      google-cloud-env (~> 2.1)
      jwt (>= 1.4, < 3.0)
      multi_json (~> 1.11)
      os (>= 0.9, < 2.0)
      signet (>= 0.16, < 2.a)
    grpc (1.60.0)
      google-protobuf (~> 3.25)
      googleapis-common-protos-types (~> 1.0)
    grpc (1.60.0-x86_64-linux)
      google-protobuf (~> 3.25)
      googleapis-common-protos-types (~> 1.0)
    i18n (1.14.1)
      concurrent-ruby (~> 1.0)
    io-console (0.7.1)
    irb (1.11.0)
      rdoc
      reline (>= 0.3.8)
    jbuilder (2.11.5)
      actionview (>= 5.0.0)
      activesupport (>= 5.0.0)
    jwt (2.7.1)
    kaminari (1.2.2)
      activesupport (>= 4.1.0)
      kaminari-actionview (= 1.2.2)
      kaminari-activerecord (= 1.2.2)
      kaminari-core (= 1.2.2)
    kaminari-actionview (1.2.2)
      actionview
      kaminari-core (= 1.2.2)
    kaminari-activerecord (1.2.2)
      activerecord
      kaminari-core (= 1.2.2)
    kaminari-core (1.2.2)
    loofah (2.22.0)
      crass (~> 1.0.2)
      nokogiri (>= 1.12.0)
    mail (2.8.1)
      mini_mime (>= 0.1.1)
      net-imap
      net-pop
      net-smtp
    marcel (1.0.2)
    matrix (0.4.2)
    meta-tags (2.19.0)
      actionpack (>= 3.2.0, < 7.2)
    mini_mime (1.1.5)
    mini_portile2 (2.8.5)
    minitest (5.20.0)
    msgpack (1.7.2)
    multi_json (1.15.0)
    mutex_m (0.2.0)
    net-imap (0.4.9)
      date
      net-protocol
    net-pop (0.1.2)
      net-protocol
    net-protocol (0.2.2)
      timeout
    net-smtp (0.4.0)
      net-protocol
    newrelic_rpm (9.6.0)
      base64
    nio4r (2.7.0)
    nokogiri (1.15.5)
      mini_portile2 (~> 2.8.2)
      racc (~> 1.4)
    nokogiri (1.15.5-x86_64-linux)
      racc (~> 1.4)
    os (1.1.4)
    psych (5.1.2)
      stringio
    public_suffix (5.0.4)
    puma (6.4.0)
      nio4r (~> 2.0)
    racc (1.7.3)
    rack (3.0.8)
    rack-session (2.0.0)
      rack (>= 3.0.0)
    rack-test (2.1.0)
      rack (>= 1.3)
    rackup (2.1.0)
      rack (>= 3)
      webrick (~> 1.8)
    rails (7.1.2)
      actioncable (= 7.1.2)
      actionmailbox (= 7.1.2)
      actionmailer (= 7.1.2)
      actionpack (= 7.1.2)
      actiontext (= 7.1.2)
      actionview (= 7.1.2)
      activejob (= 7.1.2)
      activemodel (= 7.1.2)
      activerecord (= 7.1.2)
      activestorage (= 7.1.2)
      activesupport (= 7.1.2)
      bundler (>= 1.15.0)
      railties (= 7.1.2)
    rails-dom-testing (2.2.0)
      activesupport (>= 5.0.0)
      minitest
      nokogiri (>= 1.6)
    rails-html-sanitizer (1.6.0)
      loofah (~> 2.21)
      nokogiri (~> 1.14)
    railties (7.1.2)
      actionpack (= 7.1.2)
      activesupport (= 7.1.2)
      irb
      rackup (>= 1.0.0)
      rake (>= 12.2)
      thor (~> 1.0, >= 1.2.2)
      zeitwerk (~> 2.6)
    rake (13.1.0)
    rbtree (0.4.6)
    rdoc (6.6.2)
      psych (>= 4.0.0)
    regexp_parser (2.8.3)
    reline (0.4.1)
      io-console (~> 0.5)
    rexml (3.2.6)
    rspec-core (3.12.2)
      rspec-support (~> 3.12.0)
    rspec-expectations (3.12.3)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.12.0)
    rspec-mocks (3.12.6)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.12.0)
    rspec-rails (6.1.0)
      actionpack (>= 6.1)
      activesupport (>= 6.1)
      railties (>= 6.1)
      rspec-core (~> 3.12)
      rspec-expectations (~> 3.12)
      rspec-mocks (~> 3.12)
      rspec-support (~> 3.12)
    rspec-support (3.12.1)
    ruby2_keywords (0.0.5)
    rubyzip (2.3.2)
    sass-rails (6.0.0)
      sassc-rails (~> 2.1, >= 2.1.1)
    sassc (2.4.0)
      ffi (~> 1.9)
    sassc-rails (2.1.2)
      railties (>= 4.0.0)
      sassc (>= 2.0)
      sprockets (> 3.0)
      sprockets-rails
      tilt
    selenium-webdriver (4.16.0)
      rexml (~> 3.2, >= 3.2.5)
      rubyzip (>= 1.2.2, < 3.0)
      websocket (~> 1.0)
    signet (0.18.0)
      addressable (~> 2.8)
      faraday (>= 0.17.5, < 3.a)
      jwt (>= 1.5, < 3.0)
      multi_json (~> 1.10)
    sprockets (4.2.1)
      concurrent-ruby (~> 1.0)
      rack (>= 2.2.4, < 4)
    sprockets-rails (3.4.2)
      actionpack (>= 5.2)
      activesupport (>= 5.2)
      sprockets (>= 3.0.0)
    stringio (3.1.0)
    thor (1.3.0)
    tilt (2.3.0)
    timeout (0.4.1)
    tzinfo (2.0.6)
      concurrent-ruby (~> 1.0)
    uglifier (4.2.0)
      execjs (>= 0.3.0, < 3)
    web-console (4.2.1)
      actionview (>= 6.0.0)
      activemodel (>= 6.0.0)
      bindex (>= 0.4.0)
      railties (>= 6.0.0)
    webrick (1.8.1)
    websocket (1.2.10)
    websocket-driver (0.7.6)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    xpath (3.2.0)
      nokogiri (~> 1.8)
    zeitwerk (2.6.12)

PLATFORMS
  ruby
  x86_64-linux

DEPENDENCIES
  act_as_fire_record_beta
  bootsnap
  capybara
  coffee-rails
  dotenv-rails
  jbuilder
  kaminari
  meta-tags
  newrelic_rpm
  puma
  rails (= 7.1.2)
  rspec-rails
  sass-rails
  selenium-webdriver
  tzinfo-data
  uglifier (>= 1.3.0)
  web-console

RUBY VERSION
   ruby 3.3.0.rc1

BUNDLED WITH
   2.5.3

I'd appreciate if you could add the prebuilt binary for Ruby 3.3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions