name: Ruby test on: [push, pull_request] jobs: test: name: Ruby ${{ matrix.ruby }} (${{ matrix.gemfile }}) runs-on: ubuntu-20.04 continue-on-error: ${{ matrix.experimental }} env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile BUNDLE_JOBS: 4 BUNDLE_RETRY: 3 strategy: fail-fast: false matrix: ruby: - "2.2" - "2.3" - "2.4" - "2.5" - "2.6" - "2.7" - "3.0" gemfile: - "rails_5_0" - "rails_5_1" - "rails_5_2" - "rails_6_0" - "rails_6_1" - "rails_head" experimental: [false] exclude: - ruby: 2.7 gemfile: rails_5_0 - ruby: '3.0' gemfile: rails_5_0 - ruby: head gemfile: rails_5_0 - ruby: 2.7 gemfile: rails_5_1 - ruby: '3.0' gemfile: rails_5_1 - ruby: head gemfile: rails_5_1 - ruby: 2.2 gemfile: rails_5_2 - ruby: 2.7 gemfile: rails_5_2 - ruby: '3.0' gemfile: rails_5_2 - ruby: head gemfile: rails_5_2 - ruby: 2.2 gemfile: rails_6_0 - ruby: 2.3 gemfile: rails_6_0 - ruby: 2.4 gemfile: rails_6_0 - ruby: '3.0' gemfile: rails_6_0 - ruby: head gemfile: rails_6_0 - ruby: 2.2 gemfile: rails_6_1 - ruby: 2.3 gemfile: rails_6_1 - ruby: 2.4 gemfile: rails_6_1 - ruby: 2.2 gemfile: rails_head - ruby: 2.3 gemfile: rails_head - ruby: 2.4 gemfile: rails_head - ruby: 2.5 gemfile: rails_head - ruby: 2.6 gemfile: rails_head - ruby: 2.7 gemfile: rails_head experimental: false - ruby: '3.0' gemfile: rails_head experimental: false include: - ruby: 2.7 gemfile: rails_head experimental: true - ruby: '3.0' gemfile: rails_head experimental: true - ruby: head gemfile: rails_head experimental: true steps: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Ruby test run: bundle exec rake