name: msys2 on: push: branches: [ main ] pull_request: branches: [ main ] permissions: contents: read jobs: msys2: runs-on: windows-latest strategy: fail-fast: false matrix: include: - MSYSTEM: MINGW32 MSYS2_ARCH: i686 - MSYSTEM: MINGW64 MSYS2_ARCH: x86_64 name: ${{ matrix.MSYSTEM }} env: # XXX: For some reason enabling jit debugging "fixes" random python crashes # see https://github.com/msys2/MINGW-packages/issues/11864 MSYS: "winjitdebug" defaults: run: shell: msys2 {0} steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Setup MSYS2 uses: msys2/setup-msys2@cf96e00c0aab3788743aaf63b64146f0d383cee9 # v2 with: msystem: ${{ matrix.MSYSTEM }} update: true install: >- mingw-w64-${{ matrix.MSYS2_ARCH }}-cairo mingw-w64-${{ matrix.MSYS2_ARCH }}-freetype mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc-libs mingw-w64-${{ matrix.MSYS2_ARCH }}-gettext mingw-w64-${{ matrix.MSYS2_ARCH }}-glib2 mingw-w64-${{ matrix.MSYS2_ARCH }}-gobject-introspection mingw-w64-${{ matrix.MSYS2_ARCH }}-graphite2 mingw-w64-${{ matrix.MSYS2_ARCH }}-icu mingw-w64-${{ matrix.MSYS2_ARCH }}-meson mingw-w64-${{ matrix.MSYS2_ARCH }}-ninja mingw-w64-${{ matrix.MSYS2_ARCH }}-pkg-config mingw-w64-${{ matrix.MSYS2_ARCH }}-python mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip - name: Remove installed HarfBuzz DLLs run: | rm -f -v /ming*/bin/libharfbuzz-*.dll - name: Install Python Dependencies run: | pip3 install -r .ci/requirements-fonttools.txt --require-hashes - name: Setup Meson run: | meson setup build \ --wrap-mode=nodownload \ --auto-features=enabled \ -Ddocs=disabled \ -Ddirectwrite=enabled \ -Dgdi=enabled \ -Dgraphite=enabled \ -Dchafa=disabled - name: Build run: meson compile -Cbuild - name: Test run: meson test --print-errorlogs --suite=harfbuzz -Cbuild - name: Upload DLLs if: always() uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: libharfbuzz-${{ matrix.MSYS2_ARCH }} path: ./build/src/libharfbuzz-*.dll