1name: msys2 2 3on: 4 push: 5 branches: [ main ] 6 pull_request: 7 branches: [ main ] 8 9permissions: 10 contents: read 11 12jobs: 13 msys2: 14 runs-on: windows-latest 15 16 strategy: 17 fail-fast: false 18 matrix: 19 include: 20 - MSYSTEM: MINGW32 21 MSYS2_ARCH: i686 22 - MSYSTEM: MINGW64 23 MSYS2_ARCH: x86_64 24 name: ${{ matrix.MSYSTEM }} 25 26 env: 27 # XXX: For some reason enabling jit debugging "fixes" random python crashes 28 # see https://github.com/msys2/MINGW-packages/issues/11864 29 MSYS: "winjitdebug" 30 31 defaults: 32 run: 33 shell: msys2 {0} 34 steps: 35 - name: Checkout 36 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 37 - name: Setup MSYS2 38 uses: msys2/setup-msys2@cf96e00c0aab3788743aaf63b64146f0d383cee9 # v2 39 with: 40 msystem: ${{ matrix.MSYSTEM }} 41 update: true 42 install: >- 43 mingw-w64-${{ matrix.MSYS2_ARCH }}-cairo 44 mingw-w64-${{ matrix.MSYS2_ARCH }}-freetype 45 mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc 46 mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc-libs 47 mingw-w64-${{ matrix.MSYS2_ARCH }}-gettext 48 mingw-w64-${{ matrix.MSYS2_ARCH }}-glib2 49 mingw-w64-${{ matrix.MSYS2_ARCH }}-gobject-introspection 50 mingw-w64-${{ matrix.MSYS2_ARCH }}-graphite2 51 mingw-w64-${{ matrix.MSYS2_ARCH }}-icu 52 mingw-w64-${{ matrix.MSYS2_ARCH }}-meson 53 mingw-w64-${{ matrix.MSYS2_ARCH }}-ninja 54 mingw-w64-${{ matrix.MSYS2_ARCH }}-pkg-config 55 mingw-w64-${{ matrix.MSYS2_ARCH }}-python 56 mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip 57 - name: Remove installed HarfBuzz DLLs 58 run: | 59 rm -f -v /ming*/bin/libharfbuzz-*.dll 60 - name: Install Python Dependencies 61 run: | 62 pip3 install -r .ci/requirements-fonttools.txt --require-hashes 63 - name: Setup Meson 64 run: | 65 meson setup build \ 66 --wrap-mode=nodownload \ 67 --auto-features=enabled \ 68 -Ddocs=disabled \ 69 -Ddirectwrite=enabled \ 70 -Dgdi=enabled \ 71 -Dgraphite=enabled \ 72 -Dchafa=disabled 73 - name: Build 74 run: meson compile -Cbuild 75 - name: Test 76 run: meson test --print-errorlogs --suite=harfbuzz -Cbuild 77 - name: Upload DLLs 78 if: always() 79 uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 80 with: 81 name: libharfbuzz-${{ matrix.MSYS2_ARCH }} 82 path: ./build/src/libharfbuzz-*.dll 83