summaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
blob: db4e3603f75fa9c49feb358bfad8d7f748186b98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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' }}