name: Development

on: [push, pull_request]

jobs:
  test:
    runs-on: ${{matrix.os}}-latest
    continue-on-error: ${{matrix.experimental}}

    strategy:
      matrix:
        os:
          - ubuntu
          - macos

        ruby:
          - 2.4
          - 2.5
          - 2.6
          - 2.7

        experimental: [false]
        env: [""]

        include:
          - os: macos
            ruby: truffleruby-head
            experimental: true
          - os: ubuntu
            ruby: truffleruby-head
            experimental: true
          - os: ubuntu
            ruby: jruby
            experimental: true
          - os: ubuntu
            ruby: head
            experimental: true

    steps:
    - uses: actions/checkout@v2
    - uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{matrix.ruby}}
        bundler-cache: true

    - name: Run tests
      timeout-minutes: 6
      run: |
        ${{matrix.env}} bundle exec rspec

name: Development

on: [push, pull_request]

jobs:
  test:
    runs-on: ${{matrix.os}}-latest
    continue-on-error: ${{matrix.experimental}}

    strategy:
      matrix:
        os:
          - ubuntu
          - macos

        ruby:
          - 2.4
          - 2.5
          - 2.6
          - 2.7
          - "3.0" # need quotes for "3.0"
          - 3.1

        experimental: [false]
        env: [""]

        include:
          - os: macos
            ruby: truffleruby-head
            experimental: true
          - os: ubuntu
            ruby: truffleruby-head
            experimental: true
          - os: ubuntu
            ruby: jruby
            experimental: true
          - os: ubuntu
            ruby: head
            experimental: true

    steps:
    - uses: actions/checkout@v2
    - uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{matrix.ruby}}
        bundler-cache: true

    - name: Run tests
      timeout-minutes: 6
      run: |
        ${{matrix.env}} bundle exec rspec

Add Ruby 3.0/3.1 to CI
Add Ruby 3.0/3.1 to CI