name: CI

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    continue-on-error: ${{ matrix.experimental }}
    strategy:
      fail-fast: false
      matrix:
        ruby: ["2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "jruby"]
        experimental: [false]
        include:
        - ruby: "truffleruby"
          experimental: true
    steps:
    - uses: actions/checkout@v5
    - uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{matrix.ruby}}
        bundler-cache: true

    - name: Run standardrb
      run: bundle exec standardrb --no-fix

    - name: Run tests
      timeout-minutes: 5
      run: ${{matrix.env}} bundle exec rake test
