[dm-devel] [PATCH v2 01/21] multipath tools: github workflows: add coverity workflow
mwilck at suse.com
mwilck at suse.com
Wed Dec 1 12:36:30 UTC 2021
From: Martin Wilck <mwilck at suse.com>
Add a workflow that triggers a coverity static analysis scan.
For now, this will only be done on a special branch called "coverity".
Pushing to that branch will trigger the workflow.
For this to work, 3 secrets need to be set in the Github repository:
COVERITY_SCAN_EMAIL: the email address for coverity/synopsis account
COVERITY_SCAN_TOKEN: the coverity / synopsis access token
COVERITY_SCAN_PROJECT: the coverity project, e.g. mwilck/multipath-tools
The workflow succeeds if upload of the coverity results was successful.
The analysis result will be emailed to the given address.
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
Signed-off-by: Martin Wilck <mwilck at suse.com>
---
.github/workflows/coverity.yaml | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 .github/workflows/coverity.yaml
diff --git a/.github/workflows/coverity.yaml b/.github/workflows/coverity.yaml
new file mode 100644
index 0000000..a8b56d4
--- /dev/null
+++ b/.github/workflows/coverity.yaml
@@ -0,0 +1,51 @@
+name: coverity
+on:
+ push:
+ branches:
+ - coverity
+
+jobs:
+ upload-coverity-scan:
+ runs-on: ubuntu-20.04
+ steps:
+ - name: checkout
+ uses: actions/checkout at v2
+ - name: dependencies
+ run: >
+ sudo apt-get install --yes
+ gcc make pkg-config
+ libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
+ libudev-dev libjson-c-dev liburcu-dev libcmocka-dev
+ - name: download coverity
+ run: >
+ curl -o cov-analysis-linux64.tar.gz
+ --form token="$COV_TOKEN"
+ --form project="$COV_PROJECT"
+ https://scan.coverity.com/download/cxx/linux64
+ env:
+ COV_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+ COV_PROJECT: ${{ secrets.COVERITY_SCAN_PROJECT }}
+ - name: unpack coverity
+ run: |
+ mkdir -p coverity
+ tar xfz cov-analysis-linux64.tar.gz --strip 1 -C coverity
+ - name: build with cov-build
+ run: >
+ PATH="$PWD/coverity/bin:$PATH"
+ cov-build --dir cov-int make -O -j"$(grep -c ^processor /proc/cpuinfo)"
+ - name: pack results
+ run: tar cfz multipath-tools.tgz cov-int
+ - name: submit results
+ run: >
+ curl
+ --form token="$COV_TOKEN"
+ --form email="$COV_EMAIL"
+ --form file="@multipath-tools.tgz"
+ --form version="${{ github.ref_name }}"
+ --form description="$(git describe --tags --match "0.*")"
+ --form project="$COV_PROJECT"
+ https://scan.coverity.com/builds
+ env:
+ COV_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+ COV_PROJECT: ${{ secrets.COVERITY_SCAN_PROJECT }}
+ COV_EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
--
2.33.1
More information about the dm-devel
mailing list