name: Test

on: [push, pull_request]

jobs:
  test:
    name: Ruby ${{ matrix.ruby }} (${{ matrix.os }})
    if: "!contains(github.event.head_commit.message, '[skip ci]')"
    strategy:
      matrix:
        ruby:
        - 3.1
        - 3.0
        - 2.7
        - jruby-9.3.6.0
        - truffleruby-22.1.0
        os:
        - ubuntu-latest
        - macos-latest
    runs-on: ${{matrix.os}}
    steps:
    - uses: actions/checkout@v2
    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{matrix.ruby}}
        bundler-cache: true
    - name: Run tests
      run: bundle exec rake

  test-windows:
    name: Ruby ${{ matrix.ruby }} (windows-latest)
    if: "!contains(github.event.head_commit.message, '[skip ci]')"
    strategy:
      matrix:
        ruby:
        - 3.1
        - 3.0
        - 2.7
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{matrix.ruby}}
        bundler-cache: true
    - run: cinst ansicon
    - name: Run tests
      run: bundle exec rake
