.github/workflows/test.yml

Summary

Maintainability
Test Coverage
name: test

on: [push, pull_request]

permissions:  # added using https://github.com/step-security/secure-workflows
  contents: read

jobs:
  ruby-versions:
    uses: ruby/actions/.github/workflows/ruby_versions.yml@master
    with:
      min_version: 2.3
      engine: cruby-jruby
      versions: '["truffleruby"]'

  test:
    needs: ruby-versions
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
        ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
        exclude:
          - os: macos-latest
            ruby: 2.3
          - os: macos-latest
            ruby: 2.4
          - os: macos-latest
            ruby: 2.5
          - os: macos-latest
          - os: windows-latest
            ruby: truffleruby
          - os: windows-latest
            ruby: jruby-head
          - os: windows-latest
            ruby: jruby
    steps:
    - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v3.3.0
    - uses: ruby/setup-ruby@cacc9f1c0b3f4eb8a16a6bb0ed10897b43b9de49 # v1.176.0
      with:
        ruby-version: ${{ matrix.ruby }}
    - name: Install dependencies
      run: gem install test-unit
    - name: Run test
      run: ruby -Ilib exe/rake