diff options
| author | jvoisin | 2021-04-28 16:37:04 +0200 |
|---|---|---|
| committer | jvoisin | 2021-04-28 18:13:19 +0200 |
| commit | 47e03e6ac921dc0f9250c3eafb06d08d33f35981 (patch) | |
| tree | 49237d69a5fcc0d6da0951d5a00c06f8c7ac750f /.github | |
| parent | fb3571de3d9dd0df9bfb38579b56dbb9746df551 (diff) | |
Add an action to run coverity scan weekly
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/coverity.yml | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml new file mode 100644 index 0000000..d83aa9f --- /dev/null +++ b/.github/workflows/coverity.yml | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | name: Coverity scan | ||
| 2 | on: | ||
| 3 | schedule: | ||
| 4 | - cron: '0 18 * * 1' # Weekly at 18:00 UTC on Mondays | ||
| 5 | |||
| 6 | jobs: | ||
| 7 | latest: | ||
| 8 | runs-on: ubuntu-latest | ||
| 9 | container: debian:stable | ||
| 10 | steps: | ||
| 11 | - name: Checkout code | ||
| 12 | uses: actions/checkout@v2 | ||
| 13 | - name: Install dependencies | ||
| 14 | run: | | ||
| 15 | apt update | ||
| 16 | DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends php-dev curl ca-certificates make gcc | ||
| 17 | - name: Remove php8 tests on php7 | ||
| 18 | run: rm -rf src/tests/*php8*/ | ||
| 19 | - name: Download Coverity Build Tool | ||
| 20 | run: | | ||
| 21 | curl https://scan.coverity.com/download/linux64 --form token=$TOKEN --form project=jvoisin/snuffleupagus -o cov-analysis-linux64.tar.gz | ||
| 22 | mkdir cov-analysis-linux64 | ||
| 23 | tar xzf cov-analysis-linux64.tar.gz --strip-components=1 -C cov-analysis-linux64 | ||
| 24 | env: | ||
| 25 | TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} | ||
| 26 | - name: Configure | ||
| 27 | run: cd src; phpize; ./configure --enable-snuffleupagus; cd - | ||
| 28 | - name: Build with cov-build | ||
| 29 | run: ./cov-analysis-linux64/bin/cov-build --dir cov-int make compile_debug | ||
| 30 | - name: Submit the result to Coverity Scan | ||
| 31 | run: | | ||
| 32 | tar czf snuffleupagus.tgz cov-int | ||
| 33 | curl \ | ||
| 34 | --form project=jvoisin/snuffleupagus \ | ||
| 35 | --form token=$TOKEN \ | ||
| 36 | --form file=@snuffleupagus.tgz \ | ||
| 37 | --form version=master \ | ||
| 38 | --form email=julien.voisin+coverity@dustri.org \ | ||
| 39 | --form description=master \ | ||
| 40 | https://scan.coverity.com/builds?project=jvoisin/snuffleupagus | ||
| 41 | env: | ||
| 42 | TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} | ||
| 43 | |||
