| name: msvc |
| |
| on: |
| push: |
| branches: [ main ] |
| pull_request: |
| branches: [ main ] |
| |
| permissions: |
| contents: read |
| |
| jobs: |
| msvc: |
| runs-on: ${{ matrix.os }} |
| |
| strategy: |
| fail-fast: false |
| matrix: |
| include: |
| - name: msvc-2025-x86 |
| os: windows-2025 |
| ARCH: x86 |
| - name: msvc-2025-amd64 |
| os: windows-2025 |
| ARCH: amd64 |
| name: ${{ matrix.name }} |
| |
| steps: |
| - name: Checkout |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| - name: Setup Ccache |
| uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20 |
| with: |
| variant: sccache |
| key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.ARCH }} |
| - name: Setup Python |
| uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 |
| with: |
| python-version: '3.12' |
| - name: Setup MSVC |
| uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 |
| 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 |