name: Tests on: [push, pull_request] jobs: test: env: DB: ${{ matrix.db }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: db: - mysql - postgres ruby: - '2.7' - '3.0' - '3.1' services: mysql: env: MYSQL_DATABASE: rating_test MYSQL_ALLOW_EMPTY_PASSWORD: yes image: mysql:8 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 ports: - 3306:3306 postgres: env: POSTGRES_DB: rating_test POSTGRES_USER: postgres POSTGRES_HOST_AUTH_METHOD: trust image: postgres:alpine options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 steps: - name: Checkout uses: actions/checkout@v3 - name: Ruby and Bundle Install uses: ruby/setup-ruby@v1 with: bundler-cache: true ruby-version: ${{ matrix.ruby }} - name: Runs tests env: CI: true CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} COVERAGE: true MINIMUM_COVERAGE: 80 run: bundle exec rake spec - name: Runs tests with config enabled env: CI: true CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} COVERAGE: true MINIMUM_COVERAGE: 80 run: bundle exec rake spec_config - name: Runs tests with config enabled for extra scopes env: CI: true CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} COVERAGE: true MINIMUM_COVERAGE: 80 run: bundle exec rake spec_config_with_extra_scopes