summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/.github/workflows/coverity.yml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/.github/workflows/coverity.yml')
-rw-r--r--examples/redis-unstable/.github/workflows/coverity.yml32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/redis-unstable/.github/workflows/coverity.yml b/examples/redis-unstable/.github/workflows/coverity.yml
new file mode 100644
index 0000000..0237c87
--- /dev/null
+++ b/examples/redis-unstable/.github/workflows/coverity.yml
@@ -0,0 +1,32 @@
+# Creates and uploads a Coverity build on a schedule
+name: Coverity Scan
+on:
+ schedule:
+ # Run once daily, since below 500k LOC can have 21 builds per week, per https://scan.coverity.com/faq#frequency
+ - cron: '0 0 * * *'
+ # Support manual execution
+ workflow_dispatch:
+jobs:
+ coverity:
+ if: github.repository == 'redis/redis'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@main
+ - name: Download and extract the Coverity Build Tool
+ run: |
+ wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=redis-unstable" -O cov-analysis-linux64.tar.gz
+ mkdir cov-analysis-linux64
+ tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
+ - name: Install Redis dependencies
+ run: sudo apt install -y gcc tcl8.6 tclx procps libssl-dev
+ - name: Build with cov-build
+ run: cov-analysis-linux64/bin/cov-build --dir cov-int make
+ - name: Upload the result
+ run: |
+ tar czvf cov-int.tgz cov-int
+ curl \
+ --form project=redis-unstable \
+ --form email=${{ secrets.COVERITY_SCAN_EMAIL }} \
+ --form token=${{ secrets.COVERITY_SCAN_TOKEN }} \
+ --form file=@cov-int.tgz \
+ https://scan.coverity.com/builds