.github/workflows/specs.yml

Summary

Maintainability
Test Coverage
name: Specs

on:
  push:
    paths-ignore:
      - 'README.md'
      - 'CHANGES.md'
  pull_request:
  schedule:
    - cron:  '52 8 * * *'

jobs:
  test:
    if: "!contains(github.event.head_commit.message, '[skip ci]')"
    runs-on: ubuntu-20.04
    env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
      BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
    strategy:
      matrix:
        ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2', 'jruby-9.4.0.0']
        gemfile: [ 'standalone', 'activemodel-5', 'activemodel-6', 'activemodel-7' ]
        exclude:
          - ruby-version: '3.3'
            gemfile: 'activemodel-5'
          - ruby-version: '3.2'
            gemfile: 'activemodel-5'
          - ruby-version: '3.1'
            gemfile: 'activemodel-5'
          - ruby-version: '3.1'
            gemfile: 'standalone'
          - ruby-version: '3.0'
            gemfile: 'activemodel-5'
          - ruby-version: '2.6'
            gemfile: 'activemodel-7'
          - ruby-version: 'jruby-9.4.0.0'
            gemfile: 'activemodel-5'

    steps:
    - uses: actions/checkout@v3
    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby-version }}
        bundler-cache: true # runs 'bundle install' and caches installed gems automatically
    - name: Run specs
      run: |
        bundle exec rspec