• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: msvc
2
3on:
4  push:
5    branches: [ main ]
6  pull_request:
7    branches: [ main ]
8
9permissions:
10  contents: read
11
12jobs:
13  msvc:
14    runs-on: ${{ matrix.os }}
15
16    strategy:
17      fail-fast: false
18      matrix:
19        os: [windows-2019, windows-latest]
20        include:
21          - name: msvc-2019-x86
22            os: windows-2019
23            ARCH: x86
24          - name: msvc-2019-amd64
25            os: windows-latest
26            ARCH: amd64
27    name: ${{ matrix.name }}
28
29    steps:
30    - name: Checkout
31      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
32    - name: Setup Ccache
33      uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14
34      with:
35        variant: sccache
36        key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.ARCH }}
37    - name: Setup Python
38      uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
39      with:
40        python-version: '3.x'
41    - name: Setup MSVC
42      uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
43      with:
44        arch : ${{ matrix.ARCH }}
45    - name: Install Python Dependencies
46      run: |
47        pip3 install -r .ci/requirements.txt --require-hashes
48    - name: Setup Meson
49      run: |
50          sccache --version
51          meson setup build `
52            --wrap-mode=forcefallback `
53            --buildtype=release `
54            -Dglib=enabled `
55            -Dfreetype=enabled `
56            -Dgdi=enabled `
57            -Ddirectwrite=enabled
58    - name: Build
59      run: meson compile -Cbuild
60    - name: Test
61      run: meson test --print-errorlogs --suite=harfbuzz -Cbuild
62