on: pull_request: push: branches: - main jobs: check: runs-on: ubuntu-latest continue-on-error: true strategy: matrix: ruby: [ '2.7', '3.0', '3.1' ] protocol: [ 'json', 'msgpack' ] type: [ 'unit', 'acceptance' ] steps: - uses: actions/checkout@v2 with: submodules: 'recursive' - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: 'Run ${{ matrix.type }} tests on ruby ${{ matrix.ruby }} (${{ matrix.protocol }} protocol)' env: PARALLEL_TEST_PROCESSORS: 2 RSPEC_RETRY: true PROTOCOL: ${{ matrix.protocol }} run: bundle exec parallel_rspec --prefix-output-with-test-env-number -- --format documentation --format RspecJunitFormatter --out ${{ matrix.protocol }}-${{ matrix.type }}-ruby-${{ matrix.ruby }}.junit -- spec/${{ matrix.type }} - name: Upload test results if: always() uses: ably-labs/test-observability-action@main with: server-url: 'https://test-observability.herokuapp.com' server-auth: ${{ secrets.TEST_OBSERVABILITY_SERVER_AUTH_KEY }} path: '.' - uses: coverallsapp/github-action@1.1.3 with: github-token: ${{ secrets.GITHUB_TOKEN }} flag-name: ruby-${{ matrix.ruby }}-${{ matrix.protocol }}-${{ matrix.type }} parallel: true finish: needs: check runs-on: ubuntu-latest steps: - name: Coveralls Finished uses: coverallsapp/github-action@1.1.3 with: github-token: ${{ secrets.github_token }} parallel-finished: true