|
|
|
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Setup Ccache
|
|
|
|
uses: hendrikmuhs/ccache-action@53911442209d5c18de8a31615e0923161e435875 # v1.2.16
|
|
|
|
with:
|
|
|
|
variant: sccache
|
|
|
|
key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.ARCH }}
|
|
|
|
- name: Setup Python
|
|
|
|
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.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
|