name: main on: pull_request: branches: [ main ] push: branches: [ main ] jobs: test: runs-on: ubuntu-latest strategy: matrix: ruby-version: ["3.1", "3.0", "2.7", "2.6"] fail-fast: false steps: - uses: actions/checkout@v3 - name: Set up Ruby ${{ matrix.ruby-version }} uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - name: Run Tests ✅ run: | bundle exec rake spec env: COVERAGE: true CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} - name: Report Coverage # We don't need to upload coverage multiple times, just do it for latest versions, and only on master if: github.ref == 'refs/heads/main' && matrix.ruby-version == 3.1 uses: paambaati/codeclimate-action@v3.0.0 env: CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Run RuboCop 🚓 run: bundle exec rake rubocop - name: Lint Commits 📝 uses: wagoid/commitlint-github-action@v4