ruby: build native Darwin gems using rake-compiler-dock#25794
Conversation
ef02bf2 to
82e9c2d
Compare
I suppose you meant o link my comment? #25060 (comment) (darwin packages not containing the 3.0 |
82e9c2d to
2c312fd
Compare
|
This PR now is purely additive: it adds the capability to generate |
|
I've kicked off a package build in https://fusion2.corp.google.com/invocations/b10cd119-1278-4530-888d-5d70120ef3b3/targets - after that's done, we should be able to download the new macos packages and test. |
|
@apolcyn The docker images The failure messages I saw were all variations of: |
Yes, this is a manual steo done via the Kicked off another package build in https://fusion2.corp.google.com/invocations/b6c8f76a-6d10-4815-9f28-9ce8c5e4e5db/targets |
2c312fd to
2b56b17
Compare
|
Looks like I needed to also update |
|
@apolcyn Would you mind kicking CI again to see if it's green after yesterday's additional fix to the gemspec template? |
|
@apolcyn I'm not sure why these tests failed, and based on what I'm seeing it seems unlikely to have been caused by the changes this PR. Do you have any advice on how to get this green? Is it possible they're flaky failures? |
|
I don't think the remaining failure is related (it appears to be an issue building csharp artifacts). |
|
The CI failure does not seem to be related, I'm guessing network flakiness in |
c94b940 to
2bc27ff
Compare
|
I've rebased again. I'd be thankful if @apolcyn or @jtattermusch would kick CI. |
|
Looks like the linux artifact build now creates the The grpc-1.41.0.dev-universal-darwin.gem built on by the macos/grpc_build_artifacts is still being built. @apolcyn since the tests are looking good, do you want to do the final review of this PR? |
Failing to remove these files between native builds leads rake-compiler to establish circular dependencies (which may be a bug in rake-compiler, but this feels like an easy and good thing to do, anyway).
There were already "windows" and "bsd" flags, so let's improve consistency and readability, and set a clear pattern for subsequent flags.
As of v1.1.0 there's no need to set this explicitly anymore; it will be true whenever the extension is being built in a RCD container. See rake-compiler/rake-compiler-dock@362890d
Using RCD for this platform unifies the Darwin native gem build process with the Linux native gems, which should help avoid inconsistencies in packaging that result in issues like the missing Ruby 3.0 binaries in grpc#25060. Please note that this change leaves the "universal-darwin" platform native gem untouched, but provides a path forward if the project ever decides to drop "universal" binary support. Related to: - grpc#25429 - grpc#25756
2bc27ff to
8aac238
Compare
|
👋 I've rebased this PR onto master again. Can I ask if there is anything that y'all are waiting on me for to get these changes reviewed and potentially merged? |
|
@flavorjones sorry for the delay. I started the tests. Most importantly, we need a review from @apolcyn |
|
Thanks, all! Heads up that I'll be submitting #25992 for arm64 support shortly. |
Related to: - grpc#25755 - grpc#25794
Related to: - grpc#25755 - grpc#25794
Summary of changes:
x86_64-darwinandnative platformsarm64-darwinarm64-darwinsupport has been moved to a separate PR at ruby: add arm64 darwin support #25992)~> 1.1and stop settingno_nativeon the extension taskCLEANfile list, and remove those files between native gem buildsbundle execin the RCD containerThe first five commits are small prefactors or cleanup; the interesting bit is in the final commit.
Using rake-compiler-dock ("RCD") for these platforms unifies the Darwin native gem build process with the Linux native gems, which should help avoid inconsistencies in packaging that result in issues like the missing Ruby 3.0 binaries in #25060.
Please note that this change leaves the "universal-darwin" platform native gem untouched, but provides a path forward if the project ever decides to drop "universal" binary support.
Related to: