name: linux-ci on: push: branches: [ main ] tags: ["*.*.*"] pull_request: branches: [ main ] permissions: contents: read jobs: build: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - uses: hendrikmuhs/ccache-action@v1.2 - name: install dependencies run: sudo apt-get update && sudo apt-get install pkg-config gcc gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python3 python3-setuptools ninja-build gobject-introspection libgirepository1.0-dev - run: sudo pip3 install fonttools meson==0.56.0 gcovr==5.0 - name: run run: | ccache --version meson setup build -Db_coverage=true --auto-features=enabled -Dgraphite=enabled -Dchafa=disabled -Dragel_subproject=true -Doptimization=2 - name: ci run: meson test --print-errorlogs -Cbuild - name: generate documentations run: ninja -Cbuild harfbuzz-doc - name: deploy documentations if: github.ref_type == 'tag' run: .ci/deploy-docs.sh env: GH_TOKEN: ${{ secrets.GH_TOKEN }} REVISION: ${{ github.sha }} # waiting for https://github.com/rhysd/github-action-benchmark/issues/36 to happen # - name: benchmark # run: build/perf/perf --benchmark_format=json > perf/result.json # - name: store benchmark result # uses: rhysd/github-action-benchmark@b2ee598 # if: github.event_name != 'pull_request' # with: # name: C++ Benchmark # tool: 'googlecpp' # output-file-path: perf/result.json # gh-pages-branch: gh-pages # github-token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} # auto-push: true # alert-threshold: '150%' # comment-on-alert: true # fail-on-alert: true - name: cov run: ninja -Cbuild coverage-xml - uses: codecov/codecov-action@v3 with: file: build/meson-logs/coverage.xml