name: Test on: [push, pull_request] jobs: test: strategy: fail-fast: false matrix: entry: - { ruby: '2.6.6', mongo: 'mongo:4.4', mongoid: '5' } - { ruby: 'jruby-9.1.17.0', mongo: 'mongo:4.4', mongoid: '5' } - { ruby: 'jruby-9.2.11.1', mongo: 'mongo:4.4', mongoid: '5' } - { ruby: '2.6.6', mongo: 'mongo:4.4', mongoid: '6' } - { ruby: '2.7.1', mongo: 'mongo:4.4', mongoid: '6' } - { ruby: '3.0.5', mongo: 'mongo:4.4', mongoid: '6' } - { ruby: '3.1.3', mongo: 'mongo:4.4', mongoid: '6' } - { ruby: 'jruby-9.2.11.1', mongo: 'mongo:4.4', mongoid: '6' } - { ruby: '2.6.6', mongo: 'mongo:4.4', mongoid: '7', coverage: 'true' } - { ruby: '2.7.1', mongo: 'mongo:4.4', mongoid: '7' } - { ruby: '3.0.5', mongo: 'mongo:4.4', mongoid: '7' } - { ruby: '3.1.3', mongo: 'mongo:4.4', mongoid: '7' } - { ruby: 'jruby-9.2.11.1', mongo: 'mongo:4.4', mongoid: '7' } - { ruby: '2.6.6', mongo: 'mongo:4.4', mongoid: '8' } - { ruby: '2.7.1', mongo: 'mongo:4.4', mongoid: '8' } - { ruby: '3.0.5', mongo: 'mongo:4.4', mongoid: '8' } - { ruby: '3.1.3', mongo: 'mongo:4.4', mongoid: '8' } experimental: [false] name: test (ruby=${{ matrix.entry.ruby }}, mongo=${{ matrix.entry.mongo }}, mongoid=${{ matrix.entry.mongoid }}) runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental }} services: mongo: image: ${{ matrix.entry.mongo }} ports: ["27017:27017"] env: MONGOID_VERSION: ${{ matrix.entry.mongoid }} COVERAGE: ${{ matrix.entry.coverage }} steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.entry.ruby }} bundler-cache: true - name: Checks if: ${{ matrix.entry.coverage == 'true' }} run: | bundle exec rubocop # Disabled until mongoid-danger is updated to support Github Actions # bundle exec danger - name: Run tests run: bundle exec rspec - name: Code Climate if: ${{ env.CC_TEST_REPORTER_ID != '' && success() && matrix.entry.coverage == 'true' }} run: | curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter; chmod +x ./cc-test-reporter; ./cc-test-reporter before-build; ./cc-test-reporter format-coverage -t simplecov -o coverage/codeclimate.json coverage/.resultset.json; ./cc-test-reporter upload-coverage;