name: Test on: [push, pull_request] jobs: test: strategy: fail-fast: false matrix: gemfile: - Gemfile - gemfiles/Gemfile-rails-main - gemfiles/Gemfile-rails-6-1 - gemfiles/Gemfile-rails-6-0 - gemfiles/Gemfile-rails-5-2 ruby: - '3.1' - '3.0' - '2.7' - '2.6' - '2.5' exclude: - gemfile: Gemfile ruby: '2.6' - gemfile: Gemfile ruby: '2.5' - gemfile: gemfiles/Gemfile-rails-main ruby: '2.6' - gemfile: gemfiles/Gemfile-rails-main ruby: '2.5' - gemfile: gemfiles/Gemfile-rails-6-0 ruby: '3.1' - gemfile: gemfiles/Gemfile-rails-5-2 ruby: '3.1' - gemfile: gemfiles/Gemfile-rails-5-2 ruby: '3.0' - gemfile: gemfiles/Gemfile-rails-5-2 ruby: '2.7' runs-on: ubuntu-latest env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps BUNDLE_GEMFILE: ${{ matrix.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