dblock/slack-ruby-client

View on GitHub
.github/workflows/test.yml

Summary

Maintainability
Test Coverage
name: Tests
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        entry:
          - { ruby: "2.7" }
          - { ruby: "2.7", concurrency: async-websocket }
          - { ruby: "3.0" }
          - { ruby: "3.1" }
          - { ruby: "3.2" }
          - { ruby: ruby-head, ignore: true }
          - { ruby: jruby-head, ignore: true }
    name: test (ruby=${{ matrix.entry.ruby }}, concurrency=${{ matrix.entry.concurrency || 'none' }})
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.entry.ruby }}
          bundler-cache: true
      - name: Set Concurrency
        run: |
          if [[ ! -z "${{ matrix.entry.concurrency }}" ]]; then
            echo "Setting concurrency to ${{ matrix.entry.concurrency }}."
            echo "CONCURRENCY=${{ matrix.entry.concurrency }}" >> $GITHUB_ENV
          fi
      - name: Run Tests
        continue-on-error: ${{ matrix.entry.ignore || false }}
        env:
          RACK_ENV: test
        run: |
          bundle install
          bundle exec rake