protocolbuffers / protobuf

Protocol Buffers - Google's data interchange format
http://protobuf.dev
Other
65.56k stars 15.47k forks source link

Please add Ruby 3.3 support #15182

Closed JunichiIto closed 10 months ago

JunichiIto commented 10 months ago

Like https://github.com/protocolbuffers/protobuf/issues/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.

FragozoLeonardo commented 10 months ago

Same, not even Jekyll is building