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

CI: Use a single build matrix, in 1 Workflow #63

Merged
merged 1 commit into from
Oct 11, 2021
Merged

Conversation

olleolleolle
Copy link
Contributor

@olleolleolle olleolleolle commented Oct 8, 2021

This combines three different-but-similar CI Workflows into a single one, with a matrix.

This is what it contains:

  • JRuby jobs run on Ubuntu.
  • macOS jobs, well, they were only "whatever was installed on macOS latest", which on my machine (a macOS with latest release) was 2.6.3. So I put that version there.
  • Windows jobs run on [ 'head', '3.0', '2.7', '2.6', '2.5' ]. Update: By having the same setup for Windows, Reenable Windows CI #62 is fixed in this PR.
  • On Ruby 2.5, 2.6, we update RubyGems before attempting to use it. This side-steps an issue now fixed in RubyGems.

Update: I am learning there are delicate complications, such as "already activated". To meet that complication, I added comments in the Workflow YAML and took out the bundler-cache: true and bundle exec.

Update 2: @deivid-rodriguez found a workaround that let's us keep the bundler-cache: true and have older versions working.

Progress details

@olleolleolle olleolleolle marked this pull request as draft October 8, 2021 06:59
@olleolleolle olleolleolle marked this pull request as ready for review October 8, 2021 07:08
@deivid-rodriguez
Copy link
Contributor

One guess on the "already activated" issues is that old rubygems versions used to activate fileutils by default, hence the conflict with the local version of fileutils. If that's the culprit, an alternative to avoid that would be making sure rubygems is upgraded (gem update --system) before using bundler on those rubies shipping old rubygems with this issue.

@olleolleolle olleolleolle requested a review from hsbt October 8, 2021 11:00
@olleolleolle olleolleolle changed the title CI: Use a matrix CI: Use a single build matrix, in 1 Workflow Oct 8, 2021
Combine three different-but-similar Workflows into one, using a matrix.

- macOS jobs, well, they were only "whatever was installed on macOS latest", which on my machine (a macOS with latest release) was 2.6.3. So I put that version there.
- Ubuntu and Windows jobs run on [ 'head', '3.0', '2.7', '2.6', '2.5' ].
- In addition, on Ubuntu, run JRuby jobs

A workaround to be able to use Bundler caching was to upgrade RubyGems on 2.5 and 2.6.
@hsbt hsbt merged commit 0bb0e2f into master Oct 11, 2021
@hsbt hsbt deleted the ci-with-bundle-cache branch October 11, 2021 00:27
@hsbt
Copy link
Member

hsbt commented Oct 11, 2021

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants