Precompile binaries packaged with the gem using a native compilation approach #41
+100
−0
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.
I'm currently working on a tool to help the Ruby community ship gems with precompiled binaries with the intent to make bundle install much faster for everyone.
I see that this gem already ships with precompiled binaries using rake-compiler-dock. We are trying to introduce a new way to precompile binaries with a simpler native compilation toolchain.
cibuildgem modestly tries to follow the same approach as what the python community did with cibuildwheel.
The CI workflow in this commit was generated with the cibuildgem CLI which reads the gemspec and determine what ruby versions needs to be compiled and tested against. This is the resulting CI run when a release is about to be made: https://github.com/Shopify/blake3-rb/actions/runs/19982670343
The TL;DR on how it works:
Advantages
Disadvantages compare to rake-compiler-dock