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@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 32 - name: Setup Ccache 33 uses: hendrikmuhs/ccache-action@6d1841ec156c39a52b1b23a810da917ab98da1f4 # v1.2.10 34 with: 35 variant: sccache 36 key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.ARCH }} 37 - name: Setup Python 38 uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4.7.1 39 with: 40 python-version: '3.x' 41 - name: Setup MSVC 42 uses: ilammy/msvc-dev-cmd@cec98b9d092141f74527d0afa6feb2af698cfe89 # v1.12.1 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