master
yml 64 lines 2.23 KB
Raw
1 ---
2 # Runs coverity-scan.sh every 24h on `master`
3 name: Coverity Scan
4 on:
5 schedule:
6 - cron: '0 1 * * *'
7 pull_request:
8 paths:
9 - .github/workflows/coverity.yml
10 - packaging/utils/coverity-scan.sh
11 env:
12 DISABLE_TELEMETRY: 1
13 concurrency:
14 group: coverity-${{ github.ref }}
15 cancel-in-progress: true
16 jobs:
17 coverity:
18 if: github.repository == 'netdata/netdata'
19 runs-on: ubuntu-latest
20 steps:
21 - name: Checkout
22 uses: actions/checkout@v6
23 id: checkout
24 with:
25 submodules: recursive
26 - name: Prepare environment
27 id: prepare
28 env:
29 DEBIAN_FRONTEND: 'noninteractive'
30 run: |
31 ./packaging/installer/install-required-packages.sh \
32 --dont-wait --non-interactive netdata
33 sudo apt-get install -y libjson-c-dev libyaml-dev libipmimonitoring-dev \
34 libcups2-dev libsnappy-dev libprotobuf-dev \
35 libprotoc-dev libssl-dev protobuf-compiler \
36 libnetfilter-acct-dev libmongoc-dev libxen-dev \
37 libsystemd-dev ninja-build
38 - name: Run coverity-scan
39 id: run
40 env:
41 REPOSITORY: 'netdata/netdata'
42 COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
43 COVERITY_SCAN_SUBMIT_MAIL: ${{ secrets.COVERITY_SCAN_SUBMIT_MAIL }}
44 run: |
45 bash -x ./packaging/utils/coverity-scan.sh --with-install
46 - name: Failure Notification
47 uses: rtCamp/action-slack-notify@v2
48 env:
49 SLACK_COLOR: 'danger'
50 SLACK_FOOTER: ''
51 SLACK_ICON_EMOJI: ':github-actions:'
52 SLACK_TITLE: 'Coverity run failed:'
53 SLACK_USERNAME: 'GitHub Actions'
54 SLACK_MESSAGE: |-
55 ${{ github.repository }}: Coverity failed to run correctly.
56 Checkout: ${{ steps.checkout.outcome }}
57 Environment preparation: ${{ steps.prepare.outcome }}
58 Coverity run: ${{ steps.run.outcome }}
59 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
60 if: ${{
61 failure()
62 && github.event_name != 'pull_request'
63 && startsWith(github.ref, 'refs/heads/master')
64 }}