name: CI on: - push - pull_request jobs: ruby-versions: uses: ruby/actions/.github/workflows/ruby_versions.yml@master with: min_version: 2.3 host: needs: ruby-versions name: ${{ matrix.os }} ${{ matrix.ruby }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - ubuntu-20.04 - ubuntu-22.04 - macos-11 - macos-12 - windows-latest ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }} include: - { os: ubuntu-latest , ruby: jruby-9.1 } # Ruby 2.3 - { os: ubuntu-latest , ruby: jruby-9.2 } # Ruby 2.5 - { os: ubuntu-latest , ruby: jruby-9.3 } # Ruby 2.7 exclude: - { os: windows-latest, ruby: truffleruby } - { os: windows-latest, ruby: truffleruby-head } - { os: windows-latest, ruby: jruby } - { os: windows-latest, ruby: jruby-head } steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - run: sudo apt install ragel if: ${{ startsWith(matrix.os, 'ubuntu') }} - run: brew install ragel if: ${{ startsWith(matrix.os, 'macos') }} - run: bundle install - run: rake compile - run: rake test - run: rake build - run: gem install pkg/*.gem if: ${{ matrix.ruby != '3.2' }}