• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: linux-ci
2
3on:
4  push:
5    branches: [ master ]
6  pull_request:
7    branches: [ master ]
8
9jobs:
10  build:
11    runs-on: ubuntu-18.04
12
13    steps:
14    - uses: actions/checkout@v2
15    - name: install dependencies
16      run: sudo apt-get install pkg-config gcc ragel gcovr gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python3 python3-setuptools ninja-build gobject-introspection libgirepository1.0-dev
17    - run: sudo pip3 install fonttools meson==0.47.0
18    - name: run
19      run: meson build -Db_coverage=true --auto-features=enabled -Dgraphite=enabled -Dchafa=disabled -Doptimization=2
20    - name: ci
21      run: meson test --print-errorlogs -Cbuild
22
23    - name: generate documentations
24      run: ninja -Cbuild harfbuzz-doc
25    - name: deploy documentations
26      if: github.event_name == 'push' && github.ref == 'refs/heads/master'
27      run: .ci/deploy-docs.sh
28      env:
29        GH_TOKEN: ${{ secrets.GH_TOKEN }}
30        REVISION: ${{ github.sha }}
31
32    # waiting for https://github.com/rhysd/github-action-benchmark/issues/36 to happen
33    # - name: benchmark
34    #   run: build/perf/perf --benchmark_format=json > perf/result.json
35    # - name: store benchmark result
36    #   uses: rhysd/github-action-benchmark@b2ee598
37    #   if: github.event_name != 'pull_request'
38    #   with:
39    #     name: C++ Benchmark
40    #     tool: 'googlecpp'
41    #     output-file-path: perf/result.json
42    #     gh-pages-branch: gh-pages
43    #     github-token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
44    #     auto-push: true
45    #     alert-threshold: '150%'
46    #     comment-on-alert: true
47    #     fail-on-alert: true
48
49    - name: cov
50      run: ninja -Cbuild coverage
51    - uses: codecov/codecov-action@v1
52      with:
53        file: build/meson-logs/coverage.xml
54