| name: macos | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Setup Ccache | |
| uses: hendrikmuhs/ccache-action@f09c25b45002a07be2955cbe52e8cee55643f89d # v1.2.24 | |
| with: | |
| key: ${{ github.job }}-${{ runner.os }}-${{ runner.arch }} | |
| - name: Install Dependencies | |
| run: | | |
| export HOMEBREW_NO_AUTO_UPDATE=1 | |
| export HOMEBREW_NO_INSTALL_CLEANUP=1 | |
| brew rm -f pkg-config@0.29.2 | |
| brew install \ | |
| cairo \ | |
| chafa \ | |
| freetype \ | |
| glib \ | |
| gobject-introspection \ | |
| glew \ | |
| glfw \ | |
| graphite2 \ | |
| icu4c \ | |
| libpng \ | |
| meson \ | |
| ninja \ | |
| pkgconf | |
| - name: Setup Python | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: '3.12' | |
| - name: Install Python Dependencies | |
| run: pip3 install -r .ci/requirements.txt --require-hashes | |
| - name: Setup Meson | |
| env: | |
| PKG_CONFIG_PATH: "/usr/local/opt/libffi/lib/pkgconfig" | |
| run: | | |
| brew link --force icu4c | |
| ccache --version | |
| meson setup build \ | |
| -Dauto_features=enabled \ | |
| -Ddocs=disabled \ | |
| -Dcoretext=enabled \ | |
| -Dgraphite=enabled \ | |
| -Doptimization=2 \ | |
| - name: Build | |
| run: meson compile -Cbuild | |
| - name: Test | |
| run: meson test --print-errorlogs -Cbuild |