name: Build on: [push] jobs: test: name: Ruby ${{ matrix.ruby }} / ${{ matrix.gemfile }} runs-on: ubuntu-20.04 strategy: matrix: ruby: - '2.7' - '2.6' - '2.5' gemfile: - rails_5.2.gemfile - rails_6.0.gemfile - rails_6.1.gemfile fail-fast: false services: rabbitmq: image: rabbitmq:latest options: --health-cmd "rabbitmqctl node_health_check" --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5672:5672 steps: - uses: actions/checkout@master - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true bundler: 1 env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} BUNDLE_WITHOUT: development BUNDLE_JOBS: 4 BUNDLE_RETRY: 3 - name: Run unit tests env: AMQP_SERVER: amqp://localhost:5672 BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} run: bundle exec rspec -Ispec/unit --color spec/unit - name: Run integration tests env: AMQP_SERVER: amqp://localhost:5672 BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} run: bundle exec rspec -Ispec/integration --color spec/integration