[ruby] Build/test ruby 3.4 and build native gems with Ruby 3.4 support (REDUX)#38601
Closed
chadlwilson wants to merge 5 commits intogrpc:masterfrom
Closed
[ruby] Build/test ruby 3.4 and build native gems with Ruby 3.4 support (REDUX)#38601chadlwilson wants to merge 5 commits intogrpc:masterfrom
chadlwilson wants to merge 5 commits intogrpc:masterfrom
Conversation
grpc#38338) Updates ruby-compiler-dock to `1.7.1` to [bring Ruby 3.4 support](https://github.com/rake-compiler/rake-compiler-dock/releases/tag/v1.7.0) and starts cross-compiling native gems for Ruby 3.4. Added a distribtest as well. I believe from last year at grpc#35399 that this probably requires @apolcyn or another Googler to build+push+update the `grpc-testing` images, along with - `tools/dockerfile/push_testing_images.sh` - update the values within [the current_version files](https://github.com/grpc/grpc/tree/9b77138b71e04bb127ec1fb3ae280bca33c59ae1/third_party/rake-compiler-dock). re-run generate_dockerimage_current_versions_bzl.sh and commit changes to dockerimage_current_versions.bzl. - similar for the `ruby_debian11_x64_ruby_3_4` image added here (needs to be built and pushed) Marking as draft until we are happy with approach. Note that fully pre-compiled install wont be possible until protobuf pushes their own 3.4 native versions via protocolbuffers/protobuf#19752 (and a release), but this does not seem to block things as protobuf compile seems to be working OK without code change right now. Closes grpc#38338 PiperOrigin-RevId: 715431412 (cherry picked from commit 18bebd3)
Per discussion on grpc#38487 Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
This avoids needing to fix the specific target minor versions, to match the prebuilt images, making future Ruby and rake-compiler-dock upgrades easier, per https://github.com/rake-compiler/rake-compiler-dock?tab=readme-ov-file#choosing-specific-ruby-versions-to-support and https://github.com/rake-compiler/rake-compiler-dock/releases/tag/v1.9.1 Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
Contributor
|
Thanks! chadlwilson#14 for the image bumps |
upload docker images
Contributor
Author
|
Merged now 🙏 |
Contributor
|
basic tests ruby macos looks like a pre-existing build timeout flake |
apolcyn
approved these changes
Jan 28, 2025
stanley-cheung
approved these changes
Jan 28, 2025
chadlwilson
added a commit
to chadlwilson/grpc
that referenced
this pull request
Jan 29, 2025
…t (REDUX) (grpc#38601) Repeat attempt of grpc#38338 to bring Ruby 3.4 precompiled gems to grpc. Pending grpc#38597 Brief history - grpc#38338 merged - grpc#38458 backported to 1.70.x and merged - Above two changes reverted in grpc#38516 and grpc#38515 due to release urgency. Root cause was minor artifact build timeout due to release infra having smaller hosts (fixed in grpc#38597) - Discussion in grpc#38487 about adding back the workaround with `RUBY_PATCHLEVEL`. Unclear if necessary. This PR - cherry-picks the original squashed PR - adds back the `RUBY_PATCHLEVEL` hack, per discussion in grpc#38487 - further upgrades `rake-compiler-dock` to `1.9.1` which avoids coupling patch versions between grpc and rake-compiler-dock - This version changes the host Ruby version from `3.1` -> `3.4` so _technically_ we _could_ validate the theory from grpc#38487. Will await @apolcyn advice. Needs rake-compiler-dock test image re-uploads courtesy of @apolcyn 🙏 Closes grpc#38601 PiperOrigin-RevId: 720824180 (cherry picked from commit ef13727)
apolcyn
added a commit
that referenced
this pull request
Jan 29, 2025
…th Ruby 3.4 support (REDUX) (#38615) Backports #38601 and #38597 to `1.70.x`. Equivalent change earlier reverted in #38515 - after which the root cause was traced to a release build timeout due to differing test vs release build infrastructure, which should have been worked around in #38597. Note that there still appear to be some unrelated Python timeout issues so #38602 or similar may need a merge and backport. FYI @apolcyn @stanley-cheung --------- Co-authored-by: apolcyn <apolcyn@google.com>
5 tasks
paulosjca
pushed a commit
to paulosjca/grpc
that referenced
this pull request
Feb 20, 2025
…t (REDUX) (grpc#38601) Repeat attempt of grpc#38338 to bring Ruby 3.4 precompiled gems to grpc. Pending grpc#38597 Brief history - grpc#38338 merged - grpc#38458 backported to 1.70.x and merged - Above two changes reverted in grpc#38516 and grpc#38515 due to release urgency. Root cause was minor artifact build timeout due to release infra having smaller hosts (fixed in grpc#38597) - Discussion in grpc#38487 about adding back the workaround with `RUBY_PATCHLEVEL`. Unclear if necessary. This PR - cherry-picks the original squashed PR - adds back the `RUBY_PATCHLEVEL` hack, per discussion in grpc#38487 - further upgrades `rake-compiler-dock` to `1.9.1` which avoids coupling patch versions between grpc and rake-compiler-dock - This version changes the host Ruby version from `3.1` -> `3.4` so _technically_ we _could_ validate the theory from grpc#38487. Will await @apolcyn advice. Needs rake-compiler-dock test image re-uploads courtesy of @apolcyn 🙏 Closes grpc#38601 PiperOrigin-RevId: 720824180
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Repeat attempt of #38338 to bring Ruby 3.4 precompiled gems to grpc.
Pending #38597
Brief history
RUBY_PATCHLEVEL. Unclear if necessary.This PR
RUBY_PATCHLEVELhack, per discussion in [ruby] add back logic to avoid rb_abi_version if RUBY_PATCHLEVEL >= 0 #38487rake-compiler-dockto1.9.1which avoids coupling patch versions between grpc and rake-compiler-dock3.1->3.4so technically we could validate the theory from [ruby] add back logic to avoid rb_abi_version if RUBY_PATCHLEVEL >= 0 #38487. Will await @apolcyn advice.Needs rake-compiler-dock test image re-uploads courtesy of @apolcyn 🙏