diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index bd8897b78..5bb8cd685 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,6 +12,7 @@ jobs: matrix: ruby: [ '2.7', '3.0', '3.1' ] protocol: [ 'json', 'msgpack' ] + type: [ 'unit', 'acceptance' ] steps: - uses: actions/checkout@v2 with: @@ -20,15 +21,23 @@ jobs: with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - - env: - RSPEC_RETRY: 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: ./spec/run_parallel_tests + 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: run-ruby_${{ matrix.ruby }}-${{ matrix.protocol }}_protocol + flag-name: ruby-${{ matrix.ruby }}-${{ matrix.protocol }}-${{ matrix.type }} parallel: true finish: needs: check diff --git a/ably.gemspec b/ably.gemspec index dc8b79d44..bbe1dfcb3 100644 --- a/ably.gemspec +++ b/ably.gemspec @@ -32,6 +32,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'redcarpet', '~> 3.3' spec.add_development_dependency 'rspec', '~> 3.11.0' + spec.add_development_dependency 'rspec_junit_formatter', '~> 0.5.1' spec.add_development_dependency 'rspec-retry', '~> 0.6' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'rspec-instafail', '~> 1.0'