name: Ruby on: push: branches: [main] pull_request: branches: [main] jobs: test: strategy: fail-fast: false matrix: gemfile: - rails5.2 - rails6.0 - rails6.1 - rails7.0 ruby: - "2.7" - "3.0" - "3.1" backend: - active_record - mongoid exclude: - gemfile: rails5.2 ruby: "3.0" - gemfile: rails5.2 ruby: "3.1" - gemfile: rails6.0 ruby: "3.1" - gemfile: rails6.1 ruby: "3.1" name: ${{ matrix.gemfile }}, ruby ${{ matrix.ruby }}, ${{ matrix.backend }} runs-on: ubuntu-latest env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile BACKEND: ${{ matrix.backend }} steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true ruby-version: ${{ matrix.ruby }} - name: Start MongoDB uses: supercharge/mongodb-github-action@1.3.0 if: ${{ matrix.backend == 'mongoid' }} - name: Run tests run: | bundle exec rake spec