| 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@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 |
| - 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@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 |
| with: |
| name: libharfbuzz-${{ matrix.MSYS2_ARCH }} |
| path: ./build/src/libharfbuzz-*.dll |