• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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