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