Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pare down cross-building configuration #147

Merged
merged 1 commit into from
Apr 27, 2024
Merged

Pare down cross-building configuration #147

merged 1 commit into from
Apr 27, 2024

Conversation

mudge
Copy link
Owner

@mudge mudge commented Apr 26, 2024

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.

@mudge mudge force-pushed the refactor-rakefile branch 5 times, most recently from cd39fca to 67ac7e5 Compare April 27, 2024 12:41
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.
@mudge mudge marked this pull request as ready for review April 27, 2024 12:53
@mudge mudge merged commit ad89adb into main Apr 27, 2024
113 checks passed
@mudge mudge deleted the refactor-rakefile branch April 27, 2024 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant