summaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
blob: 3074be5f0ecac3834a92697a57b36c44a2a302a8 (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
name: CI

on:
- push
- pull_request
- workflow_dispatch

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@v3

      - name: Set up Ruby
        uses: ruby/setup-ruby-pkgs@v1
        with:
          ruby-version: ${{ matrix.ruby }}
          apt-get: ragel
          brew: ragel
          # only needed for Ruby 2.3
          mingw: ragel

      - run: bundle install

      - run: rake compile

      - run: rake test

      - run: rake build

      - run: gem install pkg/*.gem
        if: ${{ matrix.ruby != '3.2' }}