It looks like you can now test arm64 darwin precompiled gems on GitHub if you explicitly use the `macos-14` runner (which uses an M1), e.g. https://github.com/mudge/re2/actions/runs/8754448473/job/24026902080?pr=144 (cc @flavorjones).
@mudge Neat! Thanks for pointing this out!
@flavorjones I noticed the x86-linux and x86_64-linux gem precompilation takes ~15 minutes (compared to all other platforms taking 3-5 minutes) so I switched my single “build-precompiled-gems” job with a matrix strategy into separate jobs using a reusable workflow: https://github.com/mudge/re2/commit/413a30cb865a43af4452b6f3ed87a9756a25a8b1 This way, the individual jobs to test each platform gem run as soon as their gem is precompiled rather than waiting for all platforms to finish. Not sure if it is general enough for https://github.com/flavorjones/ruby-c-extensions-explained/
@mudge Yeah, these jobs generally take longer for some reason -- I assume it has to do with the emulation layer.
I'm leaning towards dropping precompiled support soon for 32-bit platforms (at least for my gems, not in rake-compiler-dock), as the number of downloads is pretty close to zero:
@flavorjones given the fallback behaviour is to compile the gem locally (as opposed to not being available at all), that sounds pragmatic.
In a sad story of software rot, I’d love to be able to test the precompiled x86 Windows gem (the only one left not tested in CI) but I don’t believe it’s possible to use such a runner on GitHub Actions.
@mudge I've been using Appveyor just for 32-bit windows testing:
https://github.com/sparklemotion/nokogiri/blob/main/appveyor.yml
It's a great, free service that I very much appreciate, though I have mixed feelings about having to have two separate CI systems.