Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ruby] Build/test ruby 3.3 and build native gems with Ruby 3.3 support #35399

Closed
wants to merge 2 commits into from

Conversation

chadlwilson
Copy link
Contributor

@chadlwilson chadlwilson commented Dec 28, 2023

Updates ruby-compiler-dock to 1.4.0 which brings Ruby 3.3 final support per https://github.com/rake-compiler/rake-compiler-dock/releases/tag/1.4.0 and starts cross-compiling for ruby 3.3.

I can't find obviously where the test infrastructure configuration is to run the tests under Ruby 3.3, so might need pointers or an accompanying PR for the test infra. (I note #31991 from @apolcyn so perhaps currently they are not run against newer versions)

Fixes #35396

  • Backport to 1.60 is desirable since currently the Ruby gems cannot be installed with Ruby 3.3 and have to be built from source.

Copy link

linux-foundation-easycla bot commented Dec 28, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: chadlwilson / name: Chad Wilson (904aea5)
  • ✅ login: apolcyn (5c14303)

@chadlwilson chadlwilson changed the title [ruby] Build native gems with Ruby 3.3 support [ruby] Build/test ruby 3.3 and build native gems with Ruby 3.3 support Dec 28, 2023
@alto-ruby alto-ruby requested a review from apolcyn January 1, 2024 19:33
@chadlwilson
Copy link
Contributor Author

Thx for kicking off the build @alto-ruby .

Sanity tests are failing due to not locking the docker image versions for rake-compiler-dock testing images but I think this is a chicken vs egg problem that an external contributor possibly can't solve. Perhaps needs a Googler to do something like the following?

  • tools/dockerfile/push_testing_images.sh
  • update the values within the current_version files.
  • re-run generate_dockerimage_current_versions_bzl.sh and commit changes to dockerimage_current_versions.bzl.
    "third_party/rake-compiler-dock/rake_aarch64-linux.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_aarch64-linux@sha256:a015b83950b891a61b43cbfcdac5bcdfd62d34ac58652302b3e25633274e942a",
    "third_party/rake-compiler-dock/rake_arm64-darwin.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_arm64-darwin@sha256:5e207456cc0cdd67f308023b5cbc6932a6db56e58a537862292e76c8ac2e5f90",
    "third_party/rake-compiler-dock/rake_x64-mingw-ucrt.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_x64-mingw-ucrt@sha256:4b60f82c8425db2b8fb430833175538aa362cf61d7f88c9c68cbf5970bf8b92c",
    "third_party/rake-compiler-dock/rake_x64-mingw32.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_x64-mingw32@sha256:eab102dc22d88124c78444f35b3a24bb45bce379b147cca0c5b64662ca41a82c",
    "third_party/rake-compiler-dock/rake_x86-linux.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_x86-linux@sha256:c1221bb41bb36ecc2b998431aabdffacec8bacea03dde2c6bf717a71a25975e2",
    "third_party/rake-compiler-dock/rake_x86-mingw32.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_x86-mingw32@sha256:909ae31711de69a129bac3b2ed568ccc771f467ec3c712cf2cb142c3cdd6a154",
    "third_party/rake-compiler-dock/rake_x86_64-darwin.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_x86_64-darwin@sha256:44865f928d61f97369903673785fcbe0f6a823a60efcd045c025ca9c5579bcee",
    "third_party/rake-compiler-dock/rake_x86_64-linux.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/rake_x86_64-linux@sha256:91603592860c33da1773711b9422b7ffc8ecb69892d112082be17093f2995095",

The other test failures I couldn't see the correlation with the changes but rebased anyway, in case it's something fixed on master.

@alto-ruby
Copy link
Contributor

@apolcyn for pushing new docker images

Copy link
Contributor

@apolcyn apolcyn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks generally right - requested just a couple minor changes

Regarding testing

  1. yes we ought to get in that PR you referenced. I'll be in office next week and can look at that.

  2. we should create a "distribtest" for ruby 3.3 by adding an entry for it in

    RubyDistribTest("linux", "x64", "ubuntu2204", presubmit=True),
    , it will need a new docker image like this one. @alto-ruby do you have time to follow up on that?

(I'm out of the office right now but will be back next week, if the review needs more time).

Also I have pushed docker images and sent you a patch on this branch: chadlwilson#1

tools/internal_ci/helper_scripts/prepare_build_macos_rc Outdated Show resolved Hide resolved
src/ruby/nativedebug/README.md Outdated Show resolved Hide resolved
chadlwilson and others added 2 commits January 11, 2024 10:15
Updates ruby-compiler-dock to 1.4.0 which brings Ruby 3.3 final support per
https://github.com/rake-compiler/rake-compiler-dock/releases/tag/1.4.0

Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
@chadlwilson
Copy link
Contributor Author

chadlwilson commented Jan 11, 2024

I've merged your changes, made the requested tweaks and rebased off master. Will need some help to kick off the build/test again (or point me to them) as now I can't see the build runs linked to the PR after the force pushes so not quite sure what the current pass/fail state is.

  1. yes we ought to get in that PR you referenced. I'll be in office next week and can look at that.

  2. we should create a "distribtest" for ruby 3.3 by adding an entry for it in

    RubyDistribTest("linux", "x64", "ubuntu2204", presubmit=True),

OK, will go with your and @alto-ruby guidance on whether that's a pre-requisite for this or something we can do subsequently.

@apolcyn apolcyn added the release notes: yes Indicates if PR needs to be in release notes label Jan 11, 2024
@apolcyn
Copy link
Contributor

apolcyn commented Jan 11, 2024

I've kicked off tests

OK, will go with your and @alto-ruby guidance on whether that's a pre-requisite for this or something we can do subsequently.

Sounds good. I'm fine with the test changes to go in a subsequent PR. But still cc @alto-ruby for help on this aspect.

@chadlwilson
Copy link
Contributor Author

Can someone point me to the appropriate build/test run invocation on source.cloud.google.com? Kokoro doesn't seem to be updating this PR with the status checks and I can't seem to navigate as an external contributor to find the latest PR runs.

@chadlwilson
Copy link
Contributor Author

Looks like everything is passing so that's a good sign 👍

@chadlwilson
Copy link
Contributor Author

chadlwilson commented Jan 15, 2024

@alto-ruby @apolcyn Anything else that needs to be done here? Do I need to change the base to v1.61.x?

Edit: no problem, forgot about copybara flow.

@chadlwilson chadlwilson deleted the ruby-3.3-support branch January 18, 2024 01:55
chadlwilson added a commit to chadlwilson/grpc that referenced this pull request Jan 18, 2024
grpc#35399)

Updates ruby-compiler-dock to 1.4.0 which brings Ruby 3.3 final support per https://github.com/rake-compiler/rake-compiler-dock/releases/tag/1.4.0 and starts cross-compiling for ruby 3.3.

I can't find obviously where the test infrastructure configuration is to run the tests under Ruby 3.3, so might need pointers or an accompanying PR for the test infra. (I note grpc#31991 from @apolcyn so perhaps currently they are not run against newer versions)

Fixes grpc#35396

- Backport to `1.60` is desirable since currently the Ruby gems cannot be installed with Ruby 3.3 and have to be built from source.

Closes grpc#35399

PiperOrigin-RevId: 599200628
(cherry picked from commit 43d2b28)
apolcyn pushed a commit to apolcyn/grpc that referenced this pull request Jan 19, 2024
grpc#35399)

Updates ruby-compiler-dock to 1.4.0 which brings Ruby 3.3 final support per https://github.com/rake-compiler/rake-compiler-dock/releases/tag/1.4.0 and starts cross-compiling for ruby 3.3.

I can't find obviously where the test infrastructure configuration is to run the tests under Ruby 3.3, so might need pointers or an accompanying PR for the test infra. (I note grpc#31991 from @apolcyn so perhaps currently they are not run against newer versions)

Fixes grpc#35396

- Backport to `1.60` is desirable since currently the Ruby gems cannot be installed with Ruby 3.3 and have to be built from source.

Closes grpc#35399

PiperOrigin-RevId: 599200628
apolcyn added a commit that referenced this pull request Jan 19, 2024
…3.3 support (#35399)" (#35614)

Updates ruby-compiler-dock to 1.4.0 which brings Ruby 3.3 final support
per
https://github.com/rake-compiler/rake-compiler-dock/releases/tag/1.4.0
and starts cross-compiling for ruby 3.3.

I can't find obviously where the test infrastructure configuration is to
run the tests under Ruby 3.3, so might need pointers or an accompanying
PR for the test infra. (I note #31991 from @apolcyn so perhaps currently
they are not run against newer versions)

Fixes #35396

- Backport to `1.60` is desirable since currently the Ruby gems cannot
be installed with Ruby 3.3 and have to be built from source.

Closes #35399

PiperOrigin-RevId: 599200628




<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->

Co-authored-by: Chad Wilson <chadw@thoughtworks.com>
copybara-service bot pushed a commit that referenced this pull request Feb 2, 2024
As title

Partial followup to #35399

Closes #35788

PiperOrigin-RevId: 603786425
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bundle install of grpc-1.60.0-x86_64-linux reports that it is incompatible with Ruby 3.3.0 during GitHub CI
5 participants