name: macos-ci on: push: branches: [ main ] pull_request: branches: [ main ] permissions: contents: read jobs: build: runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Setup Ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 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 install \ cairo \ freetype \ glib \ gobject-introspection \ graphite2 \ icu4c \ meson \ ninja \ pkg-config - name: Setup Python uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.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 \ -Dchafa=disabled \ -Dcoretext=enabled \ -Dgraphite=enabled \ -Doptimization=2 \ -Db_coverage=true \ - name: Build run: meson compile -Cbuild - name: Test run: meson test --print-errorlogs -Cbuild - name: Generate Coverage run: ninja -Cbuild coverage-xml - name: Upload Coverage uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: token: ${{ secrets.CODECOV_TOKEN }} file: build/meson-logs/coverage.xml