name: CI on: [push, pull_request] jobs: test: strategy: fail-fast: false matrix: gemfile: [ rails_5.1, rails_5.2, rails_6.0, rails_6.1, rails_7.0 ] ruby: [ 2.4, 2.5, 2.6, 2.7, '3.0' ] exclude: - gemfile: rails_5.1 ruby: 3.0 - gemfile: rails_5.2 ruby: 3.0 - gemfile: rails_6.0 ruby: 2.4 - gemfile: rails_6.1 ruby: 2.4 - gemfile: rails_7.0 ruby: 2.4 - gemfile: rails_7.0 ruby: 2.5 - gemfile: rails_7.0 ruby: 2.6 runs-on: ubuntu-latest env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile steps: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically - run: bundle exec rake