name: CI on: push: branches: [ master ] pull_request: branches: [ '**' ] # UTC Tuesdays 0900. note, no notifications will be sent for failed scheduled builds. :( schedule: - cron: '0 9 * * TUE' env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres jobs: tests: services: db: image: postgres:9.4 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: ['5432:5432'] runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - gemfile: rails_5_0 ruby: 2.4 - gemfile: rails_5_0 ruby: 2.5 - gemfile: rails_5_1 ruby: 2.4 - gemfile: rails_5_2 ruby: 2.4 - gemfile: rails_5_2 ruby: 2.6 - gemfile: rails_6_0 ruby: 2.6 - gemfile: rails_6_0 ruby: 2.7 - gemfile: rails_6_1 ruby: 2.7 - gemfile: rails_6_1 ruby: '3.0' - gemfile: rails_7_0 ruby: '3.0' - gemfile: rails_7_0 ruby: 3.1 - gemfile: rails_7_0 ruby: 3.2 name: ${{ matrix.gemfile }}, ruby ${{ matrix.ruby }} steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: false - name: Bundle install run: | bundle config set gemfile "${GITHUB_WORKSPACE}/gemfiles/${{ matrix.gemfile }}.gemfile" bundle install --jobs 4 --retry 3 - name: Run tests run: | bundle exec rspec