1name: linux-ci 2 3on: 4 push: 5 branches: [ main ] 6 tags: ["*.*.*"] 7 pull_request: 8 branches: [ main ] 9 10permissions: 11 contents: read 12 13jobs: 14 build: 15 runs-on: ubuntu-20.04 16 17 steps: 18 - uses: actions/checkout@v3 19 - name: install dependencies 20 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 21 - run: sudo pip3 install fonttools meson==0.56.0 gcovr==5.0 22 - name: run 23 run: meson build -Db_coverage=true --auto-features=enabled -Dgraphite=enabled -Dchafa=disabled -Dragel_subproject=true -Doptimization=2 24 - name: ci 25 run: meson test --print-errorlogs -Cbuild 26 27 - name: generate documentations 28 run: ninja -Cbuild harfbuzz-doc 29 - name: deploy documentations 30 if: github.ref_type == 'tag' 31 run: .ci/deploy-docs.sh 32 env: 33 GH_TOKEN: ${{ secrets.GH_TOKEN }} 34 REVISION: ${{ github.sha }} 35 36 # waiting for https://github.com/rhysd/github-action-benchmark/issues/36 to happen 37 # - name: benchmark 38 # run: build/perf/perf --benchmark_format=json > perf/result.json 39 # - name: store benchmark result 40 # uses: rhysd/github-action-benchmark@b2ee598 41 # if: github.event_name != 'pull_request' 42 # with: 43 # name: C++ Benchmark 44 # tool: 'googlecpp' 45 # output-file-path: perf/result.json 46 # gh-pages-branch: gh-pages 47 # github-token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} 48 # auto-push: true 49 # alert-threshold: '150%' 50 # comment-on-alert: true 51 # fail-on-alert: true 52 53 - name: cov 54 run: ninja -Cbuild coverage-xml 55 - uses: codecov/codecov-action@v3 56 with: 57 file: build/meson-logs/coverage.xml 58