name: CI on: [push, pull_request] jobs: test: strategy: matrix: pg: - 9.6 - 10 - 11 - 12 gemfile: - rails_5.0 - rails_5.1 - rails_5.2 - rails_6.0 name: PostgreSQL ${{ matrix.pg }} runs-on: ubuntu-latest env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile ImageOS: ubuntu20 services: postgresql: image: postgres:${{ matrix.pg }} env: POSTGRES_PASSWORD: postgres # Set health checks to wait until postgres has started options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 steps: - uses: actions/checkout@v2 - name: Setup Ruby using .ruby-version file uses: ruby/setup-ruby@v1 with: bundler-cache: true # runs 'bundle install' and caches installed gems automatically - run: bundle exec rake spec