aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/msvc-ci.yml
blob: 6aadb8106622d0069fb44b2a0460d9bef8d87c62 (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
61
name: msvc

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

permissions:
  contents: read

jobs:
  msvc:
    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        os: [windows-2019, windows-latest]
        include:
          - name: msvc-2019-x86
            os: windows-2019
            ARCH: x86
          - name: msvc-2019-amd64
            os: windows-latest
            ARCH: amd64
    name: ${{ matrix.name }}

    steps:
    - name: Checkout
      uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
    - name: Setup Ccache
      uses: hendrikmuhs/ccache-action@ca3acd2731eef11f1572ccb126356c2f9298d35e # v1.2.9
      with:
        variant: sccache
        key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.ARCH }}
    - name: Setup Python
      uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1
      with:
        python-version: '3.x'
    - name: Setup MSVC
      uses: ilammy/msvc-dev-cmd@cec98b9d092141f74527d0afa6feb2af698cfe89 # v1.12.1
      with:
        arch : ${{ matrix.ARCH }}
    - name: Install Python Dependencies
      run: |
        pip3 install -r .ci/requirements.txt --require-hashes
    - name: Setup Meson
      run: |
          sccache --version
          meson setup build `
            --wrap-mode=forcefallback `
            --buildtype=release `
            -Dglib=enabled `
            -Dfreetype=enabled `
            -Dgdi=enabled `
            -Ddirectwrite=enabled
    - name: Build
      run: meson compile -Cbuild
    - name: Test
      run: meson test --print-errorlogs --suite=harfbuzz -Cbuild