• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: coverity-scan
2
3on:
4  schedule:
5    - cron: '0 10 * * *' # Daily at 10:00 UTC
6
7jobs:
8  latest:
9    runs-on: ubuntu-latest
10    steps:
11      - uses: actions/checkout@v2
12
13      - run: sudo apt-get install gcc clang wget git curl pkg-config libfreetype6-dev libglib2.0-dev libicu-dev libgraphite2-dev
14
15      - name: Download Coverity
16        run: |
17          wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=behdad/harfbuzz" -O cov-analysis-linux64.tar.gz
18          mkdir cov-analysis-linux64
19          tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
20        env:
21          TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
22
23      # ideally we should've used meson and ninja here but it complains about coverage or something
24      - run: cov-analysis-linux64/bin/cov-build --dir cov-int clang src/hb-*.cc -DHAVE_FREETYPE -DHAVE_GRAPHITE2 -DHAVE_GLIB -DHAVE_ICU `pkg-config --cflags freetype2 graphite2 glib-2.0 icu-uc` -DHAVE_ROUNDF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H -DHAVE_GETPAGESIZE -DHB_EXPERIMENTAL_API -c
25
26      - run: tar czvf harfbuzz.tgz cov-int
27
28      - name: submit to coverity
29        run: |
30          curl \
31            --form project=behdad/harfbuzz \
32            --form token=$TOKEN \
33            --form email=harfbuzz-bots-chatter@googlegroups.com \
34            --form file=@harfbuzz.tgz \
35            --form version=trunk \
36            --form description="`git rev-parse --short HEAD`" \
37            https://scan.coverity.com/builds?project=behdad-harfbuzz
38        env:
39          TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
40