Feature/bump minimum ruby (#594) #165
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: build | |
on: | |
push: | |
branches: | |
- main | |
- renovate/** | |
pull_request: | |
branches: | |
- main | |
workflow_call: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
# Latest ruby will only be tested on | |
# - all rails versions in current major & latest minor rails version of the previous major | |
# | |
# Any unsupported ruby will only be tested on | |
# - rails versions if their patch release is within 6 months of the Ruby EOL date | |
# - No version of the current rails major | |
# | |
# 3.1 -> EOL Mar '25 -> Only test Rails versions initially released before Sep '25 | |
# 3.2 -> EOL Mar '26 -> Only test Rails versions initially released before Sep '26 | |
include: | |
- { ruby: '3.4', gemfile: 'rails_7_2' } | |
- { ruby: '3.4', gemfile: 'rails_8_0' } | |
# Supported rubies will test all permissible supported rails versions | |
ruby: ['3.1', '3.2', '3.3'] | |
gemfile: ['rails_6_1', 'rails_7_0', 'rails_7_1', 'rails_7_2', 'rails_8_0'] | |
exclude: | |
# Ruby 3.1+ has issues with Rails 6.1 https://github.com/rails/rails/issues/46883#issuecomment-1371325906 | |
# It (Rails 6.1.x), has been marked as a won't fix and as such it's likely this will need to just be excluded until out of support window | |
# Ruby 3.1+ has a conflicting Psych version with Rails 6.x: https://stackoverflow.com/questions/71191685/visit-psych-nodes-alias-unknown-alias-default-psychbadalias | |
# Rails 8.x has a minimum ruby of 3.2 | |
- { ruby: '3.1', gemfile: 'rails_6_1' } | |
- { ruby: '3.1', gemfile: 'rails_8_0' } | |
- { ruby: '3.2', gemfile: 'rails_6_1' } | |
- { ruby: '3.3', gemfile: 'rails_6_1' } | |
env: | |
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- run: bundle exec rake spec | |
- run: bundle exec rubocop | |
- run: bundle exec rake cucumber |