Ruby bindings to RE2, a "fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python".
In an attempt to make the precompilation of gems easier to maintain, try
to make it as concise as possible.
Specifically:
Switch the downloading of Abseil and RE2's archives to Rake file tasks
as they will automatically be required by the default gem task as long
as they are added to the gem specification.
Switch from invoking Docker directly in CI to using the
gem:$platform tasks we define in the Rakefile. These will
automatically use the correct version of rake-compiler-docker's Docker
images for us and use rake-compiler's native:$platform tasks and the
gem package task to build the correct gem.
Remove the test-gem-build and build-gems tasks in favour of explicitly
using the appropriate Rake tasks (rake gem:$platform for precompiled
gems and rake gem for the C Ruby gem).
We keep the test-gem-install script as it is easier to pass to Docker
and the FreeBSD VM as a single entrypoint though it now only installs
the gem and its required dependencies (reusing the Bundler cache
created by setup-ruby where possible) before running the test suite in
the gem install directory.
In an attempt to make the precompilation of gems easier to maintain, try to make it as concise as possible.
Specifically: