From 91487db6a78a0abc0d8032df1948d358b5b6db98 Mon Sep 17 00:00:00 2001 From: Alex Rodionov Date: Wed, 14 Oct 2026 10:56:51 -0700 Subject: [PATCH 1/2] chore: switch from jruby to portable-ruby by default --- .bcr/presubmit.yml | 3 +- .github/workflows/ci.yml | 2 +- examples/deep_gem/.ruby-version | 2 +- examples/deep_gem/MODULE.bazel | 33 ++++++------- examples/deep_gem/hello_world/Gemfile.lock | 54 +++++++++++----------- examples/gem/.ruby-version | 2 +- examples/native_ext/.ruby-version | 2 +- 7 files changed, 48 insertions(+), 50 deletions(-) diff --git a/.bcr/presubmit.yml b/.bcr/presubmit.yml index e2cfdaba6..8d43f906e 100644 --- a/.bcr/presubmit.yml +++ b/.bcr/presubmit.yml @@ -3,8 +3,7 @@ bcr_test_module: module_path: "examples/gem" matrix: bazel: ["9.x", "8.x", "7.x"] - # NB: Windows is removed due to https://github.com/bazel-contrib/rules_ruby/issues/64 - platform: ["debian10", "macos", "ubuntu2004"] + platform: ["debian10", "macos", "ubuntu2004", "windows"] tasks: run_tests: name: "Run test module" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fca6cd19f..8d6a5bf70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -162,7 +162,7 @@ jobs: fail-fast: false matrix: ruby: - - jruby-10.1.2.0 + - 3.3.12 os: - ubuntu-latest - macos-latest diff --git a/examples/deep_gem/.ruby-version b/examples/deep_gem/.ruby-version index 25fac3b8b..4d541eb20 100644 --- a/examples/deep_gem/.ruby-version +++ b/examples/deep_gem/.ruby-version @@ -1 +1 @@ -jruby-10.1.2.0 +3.3.12 diff --git a/examples/deep_gem/MODULE.bazel b/examples/deep_gem/MODULE.bazel index 571c4a31a..1cb03df34 100644 --- a/examples/deep_gem/MODULE.bazel +++ b/examples/deep_gem/MODULE.bazel @@ -12,34 +12,31 @@ ruby.toolchain( ) ruby.bundle_fetch( name = "bundle", - # List the gemspec and any files that it requires. We cannot use an - # rb_library to tidy this up because bundle fetch is executed during the - # loading phase. srcs = [ "//hello_world:hello_world.gemspec", "//hello_world/lib/hello_world:version.rb", ], gem_checksums = { - "date-3.4.1-java": "74740d914c65a922a15657c25ff0e203c16f1d0f7aa910a9ebed712afe9819c4", "diff-lcs-1.6.2": "9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962", - "erb-5.0.2-java": "d000d963afebc166ec7f2499b2b3198d526790cf962c37514d7a85843a60423c", - "io-console-0.8.1-java": "9457a61a7b23aab11e9e9ff67f71ae81d7f1a6a2e582bb5d65d754cbb546c06f", - "irb-1.15.2": "222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba", - "jar-dependencies-0.5.5": "2972b9fcba4b014e6446a84b5c09674a3e8648b95b71768e729f0e8e40568059", - "pp-0.6.2": "947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff", - "prettyprint-0.2.0": "2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193", - "psych-5.2.6-java": "0a5f65d47ed1ae3475d062b254e7b2035a259eac578038016d62172dd4cfbd91", - "rdoc-6.14.2": "9fdd44df130f856ae70cc9a264dfd659b9b40de369b16581f4ab746e42439226", - "reline-0.6.2": "1dad26a6008872d59c8e05244b119347c9f2ddaf4a53dce97856cd5f30a02846", - "rspec-3.13.1": "b9f9a58fa915b8d94a1d6b3195fe6dd28c4c34836a6097015142c4a9ace72140", - "rspec-core-3.13.5": "ab3f682897c6131c67f9a17cfee5022a597f283aebe654d329a565f9937a4fa3", + "erb-6.0.7": "c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92", + "io-console-0.9.4": "a403304f32928ee85e56d457b4612ca43f2703b561a3258844992bd24085fbb1", + "irb-1.18.0": "de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3", + "logger-1.7.0": "196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203", + "pp-0.6.4": "dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570", + "prettyprint-0.2.1": "d555d57ea6d7cf001d4774b693546a6bd88bec1e778ddffb5c60b68ceec4b7d4", + "prism-1.9.0": "7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85", + "rbs-4.2.0": "51f7b886dcc05bc09e10b901daa6a81829f6adc03101d6ca9ea4aac6103e0674", + "rdoc-8.1.0": "befc37880a5cfd36dcb176c748b5fd5ee39dd3536a75e81824e4972ce230f60a", + "reline-0.7.0": "5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d", + "rspec-3.13.2": "206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587", + "rspec-core-3.13.6": "a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d", "rspec-expectations-3.13.5": "33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836", - "rspec-mocks-3.13.5": "e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81", - "rspec-support-3.13.4": "184b1814f6a968102b57df631892c7f1990a91c9a3b9e80ef892a0fc2a71a3f7", + "rspec-mocks-3.13.8": "086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47", + "rspec-support-3.13.7": "0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c", + "tsort-0.2.0": "9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f", }, gemfile = "//hello_world:Gemfile", gemfile_lock = "//hello_world:Gemfile.lock", - jar_checksums = {"org.snakeyaml:snakeyaml-engine:2.9": "2f7a957461b6d70c0005e2c35b78a1c97bef6c446704c0ee9393ce98e4958ba8"}, ) use_repo(ruby, "bundle", "ruby", "ruby_toolchains") diff --git a/examples/deep_gem/hello_world/Gemfile.lock b/examples/deep_gem/hello_world/Gemfile.lock index b9a52cfd6..1d4bf7671 100644 --- a/examples/deep_gem/hello_world/Gemfile.lock +++ b/examples/deep_gem/hello_world/Gemfile.lock @@ -8,54 +8,56 @@ PATH GEM remote: https://rubygems.org/ specs: - date (3.4.1-java) diff-lcs (1.6.2) - erb (5.0.2-java) - io-console (0.8.1-java) - irb (1.15.2) + erb (6.0.7) + io-console (0.9.4) + irb (1.18.0) pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - jar-dependencies (0.5.5) - pp (0.6.2) + logger (1.7.0) + pp (0.6.4) prettyprint - prettyprint (0.2.0) - psych (5.2.6-java) - date - jar-dependencies (>= 0.1.7) - rdoc (6.14.2) + prettyprint (0.2.1) + prism (1.9.0) + rbs (4.2.0) + logger + prism (>= 1.6.0) + tsort + rdoc (8.1.0) erb - psych (>= 4.0.0) - reline (0.6.2) + prism (>= 1.6.0) + rbs (>= 4.0.0) + tsort + reline (0.7.0) io-console (~> 0.5) - rspec (3.13.1) + rspec (3.13.2) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.5) + rspec-core (3.13.6) rspec-support (~> 3.13.0) rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.5) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.4) + rspec-support (3.13.7) + tsort (0.2.0) PLATFORMS + aarch64-linux + arm64-darwin arm64-darwin-23 - arm64-darwin-24 - java ruby - universal-java-1.8 - universal-java-11 - universal-java-17 - universal-java-18 - universal-java-21 - x64-mingw32 + x64-mingw-ucrt + x86_64-darwin + x86_64-linux DEPENDENCIES hello_world! BUNDLED WITH - 2.3.3 + 2.5.22 diff --git a/examples/gem/.ruby-version b/examples/gem/.ruby-version index 25fac3b8b..4d541eb20 100644 --- a/examples/gem/.ruby-version +++ b/examples/gem/.ruby-version @@ -1 +1 @@ -jruby-10.1.2.0 +3.3.12 diff --git a/examples/native_ext/.ruby-version b/examples/native_ext/.ruby-version index 25fac3b8b..4d541eb20 100644 --- a/examples/native_ext/.ruby-version +++ b/examples/native_ext/.ruby-version @@ -1 +1 @@ -jruby-10.1.2.0 +3.3.12 From 7e3e263002f00e82560d233c01405adc58bd5b11 Mon Sep 17 00:00:00 2001 From: Alex Rodionov Date: Wed, 14 Oct 2026 10:57:13 -0700 Subject: [PATCH 2/2] chore: add MRI 4.1 preview1 --- ruby/private/portable_ruby_checksums.bzl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ruby/private/portable_ruby_checksums.bzl b/ruby/private/portable_ruby_checksums.bzl index e93e05baa..b96036462 100644 --- a/ruby/private/portable_ruby_checksums.bzl +++ b/ruby/private/portable_ruby_checksums.bzl @@ -6,6 +6,7 @@ # Maps each Ruby version to its current default release suffix. # Updated automatically when a new rebuild (-2, -3, etc.) is published. PORTABLE_RUBY_DEFAULT_SUFFIXES = { + "4.1.0-preview1": "1", "4.0.7": "1", "4.0.6": "2", "4.0.5": "2", @@ -416,5 +417,9 @@ PORTABLE_RUBY_CHECKSUMS = { "ruby-4.0.7.arm64_linux.tar.gz": "f753cccc3447ad4795662f21f25673327c15f846a0098f447eb3e81266f72c47", "ruby-4.0.7.x86_64_darwin.tar.gz": "bb2a16c88810f3c064b148fd624ca6897f5ac8fe96119deb0df01005998bb9b7", "ruby-4.0.7.x86_64_linux.tar.gz": "14bcb2ab3c9ea2afc1dd4b7946e89a95770f0d21fbb4116902539350cce5cb54", + "ruby-4.1.0-preview1.arm64_darwin.tar.gz": "387f1773a9a6e6481c8066c24fe1ef545e62fbafea287f1bedb35163e3f48f5e", + "ruby-4.1.0-preview1.arm64_linux.tar.gz": "e1de7953e23ccccbc443246de22d37fb86cfaa619eca9057a1414ef217f9d000", + "ruby-4.1.0-preview1.x86_64_darwin.tar.gz": "2a291f4cb61a4db637c1fbfcbb1d48f04f60b4e229ed6bd2b118a6243f7ee487", + "ruby-4.1.0-preview1.x86_64_linux.tar.gz": "e6d6f5c7a7e7d6c9cf8e30b8fbf98e7e93e39e540540e77b5f3cb457ab7d3eda", }, }