Add Ruby 3.4 to the cross compile list#573
Conversation
Also upgrade rake-compiler-dock and fix the version used for precompiling 3.3.0 to 3.3.5 (see https://github.com/rake-compiler/rake-compiler-dock/releases/tag/v1.6.0).
A recent release of minitest removed the dependency on `mutex_m`. `mutex_m` is no longer part of the standard library with Ruby 3.4.
| SPEC = Gem::Specification.load(File.expand_path('../tiny_tds.gemspec', __FILE__)) | ||
|
|
||
| ruby_cc_ucrt_versions = "3.3.0:3.2.0:3.1.0".freeze | ||
| ruby_cc_ucrt_versions = "3.4.0:3.3.5:3.2.0:3.1.0".freeze |
There was a problem hiding this comment.
Since 3.3.0 became 3.3.5, do we also want to update to 3.1.6 & 3.2.6?
There was a problem hiding this comment.
The change to 3.3.5 comes from the v1.6.0 release notes of rake-compiler-dock:
https://github.com/rake-compiler/rake-compiler-dock/releases/tag/v1.6.0
looking at how nokogiri configured their cross-compilation list, it appears to not be necessary to update any other version:
https://github.com/sparklemotion/nokogiri/blob/dadec3409556be85aecf9eff3857b883cacbe563/.cross_rubies
| s.add_development_dependency 'mini_portile2', '~> 2.5.0' | ||
| s.add_development_dependency 'rake', '~> 13.0.0' | ||
| s.add_development_dependency 'rake-compiler', '~> 1.2' | ||
| s.add_development_dependency 'rake-compiler-dock', '~> 1.4.0' |
There was a problem hiding this comment.
- v1.5: Support for compiling gems against musl (Alpine's "glibc" library)
- v1.6: Base images are now based on Ubuntu, therefore some libraries were upgraded.
- v1.7: Support for compiling gems against Ruby 3.4
There was a problem hiding this comment.
The release notes here say the minimum glibc version was incremented; does that mean our minimum version of linux/glibc is also bumped for our linux releases? or is that just for the build system for windows?
There was a problem hiding this comment.
that is just for the build system on Windows.
|
I see there are a bunch of compile warnings for the Ruby 3.4 jobs (e.g. here). Will merge this PR and look at those tomorrow before releasing a new version. Just want to avoid that the installation process of |
|
I now implemented this whole In our current code structure, |
This required an update of
rake-compiler-dock, as well as an update ofminitest(since Ruby 3.4 no longer shipsmutex_m, which our old version ofminitestwas using).Currently pipelines fail because Ruby 3.4 is not yet available on Windows. But I saw that the CI on Linux still uses RC1 of Ruby 3.4.