summaryrefslogtreecommitdiff
path: root/.github/workflows/windows.yml
blob: f3039d2dfd0da34498e38265d7dc829bb057bfa1 (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
name: windows

on: [push, pull_request]

jobs:
  build:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        ruby: [ mingw, mswin, "3.0", 2.7, 2.6, 2.5, 2.4 ]
    steps:
      - uses: actions/checkout@v3
      - name: Install libraries with vcpkg
        id: vcpkg
        run: |
          vcpkg --triplet x64-windows install libyaml
        if: ${{ matrix.ruby == 'mswin' }}
      - name: link libraries
        run: |
          for %%I in (C:\vcpkg\installed\x64-windows\bin\*.dll) do (
            mklink %%~nxI %%I
          )
        if: ${{ steps.vcpkg.conclusion == 'success' }}
      - name: Set up Ruby
        uses: MSP-Greg/setup-ruby-pkgs@v1
        with:
          ruby-version: ${{ matrix.ruby }}
          mingw: _upgrade_ libyaml
      - name: Install dependencies
        run: bundle install
      - name: Compile
        run: rake compile -- --with-libyaml-dir=C:/vcpkg/installed/x64-windows
        if: ${{ matrix.ruby == 'mswin' }}
      - name: Run test
        run: rake

defaults:
  run:
    shell: cmd