name: Test on: - push - pull_request jobs: test: name: Ruby ${{ matrix.ruby }} / ${{ matrix.suite }} runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: ruby: - "3.0" - "2.7" - "2.6" - "2.5" suite: - core - faraday-0.9 - faraday-1.0 - msgr - rack - rails-5.0 - rails-5.1 - rails-5.2 - rails-6.0 - rails-6.1 - redis-4.0 - restify - sidekiq-5 - sidekiq-6 include: - suite: core spec: --tag ~probe - suite: faraday-0.9 spec: --tag probe:faraday gemfile: gemfiles/faraday_09.gemfile - suite: faraday-1.0 spec: --tag probe:faraday gemfile: gemfiles/faraday_10.gemfile - suite: msgr spec: --tag probe:msgr - suite: rack spec: --tag probe:rack - suite: rails-5.0 spec: --tag probe:rails --tag ~probe gemfile: gemfiles/rails_50.gemfile - suite: rails-5.1 spec: --tag probe:rails --tag ~probe gemfile: gemfiles/rails_51.gemfile - suite: rails-5.2 spec: --tag probe:rails --tag ~probe gemfile: gemfiles/rails_52.gemfile - suite: rails-6.0 spec: --tag probe:rails --tag ~probe gemfile: gemfiles/rails_60.gemfile - suite: rails-6.1 spec: --tag probe:rails --tag ~probe gemfile: gemfiles/rails_61.gemfile - suite: redis-4.0 spec: --tag probe:redis gemfile: gemfiles/redis_40.gemfile - suite: restify spec: --tag probe:restify - suite: sidekiq-5 spec: --tag probe:sidekiq gemfile: gemfiles/sidekiq_50.gemfile - suite: sidekiq-6 spec: --tag probe:sidekiq gemfile: gemfiles/sidekiq_60.gemfile exclude: - suite: rails-5.0 ruby: 3.0 - suite: rails-5.1 ruby: 3.0 - suite: rails-5.2 ruby: 3.0 env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} services: rabbitmq: image: rabbitmq:latest ports: [5672/tcp] options: --health-cmd "rabbitmqctl node_health_check" --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@master - uses: ruby/setup-ruby@v1 env: BUNDLE_JOBS: 4 BUNDLE_RETRY: 3 BUNDLE_WITHOUT: development,test with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Install dependencies run: | sudo apt install -y redis-server - name: Run rspec env: AMQP_SERVER: amqp://localhost:${{ job.services.rabbitmq.ports[5672] }} run: bundle exec rspec --color ${{ matrix.spec }}