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: # used to be 9.4, should work on 9.4, only moved to 10.0 # because of rails 7.1 bug (rails intends to support 9 too!) # https://github.com/jrochkind/attr_json/issues/211 image: postgres:10.0 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: ['5432:5432'] runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - gemfile: rails_6_0 ruby: 2.7 - gemfile: rails_6_0 ruby: '3.0' - 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 - gemfile: rails_7_1 ruby: '3.0' - gemfile: rails_7_1 ruby: 3.1 - gemfile: rails_7_1 ruby: 3.2 - gemfile: rails_7_1 ruby: 3.3 - gemfile: rails_7_2 ruby: 3.3 name: ${{ matrix.gemfile }}, ruby ${{ matrix.ruby }} steps: - uses: actions/checkout@v4 - 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