aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-04-23 10:50:33 +0200
committerEven Rouault <even.rouault@spatialys.com>2021-04-23 11:03:58 +0200
commitd590798d32421b93612c2aba46660e73c8db0f77 (patch)
treeea2b2ed9124e132485c5d54dc5bf8ee5fc8cd521 /.github
parent99939f327e91ba602843018af9bd4328b50821fe (diff)
downloadPROJ-d590798d32421b93612c2aba46660e73c8db0f77.tar.gz
PROJ-d590798d32421b93612c2aba46660e73c8db0f77.zip
CI: add Coverity Scan weekly job
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/coverity-scan.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/.github/workflows/coverity-scan.yml b/.github/workflows/coverity-scan.yml
new file mode 100644
index 00000000..7f4a86bf
--- /dev/null
+++ b/.github/workflows/coverity-scan.yml
@@ -0,0 +1,51 @@
+name: coverity-scan
+
+# Controls when the action will run.
+on:
+ # Run this action on a schedule (we're allowed a maximum of two per day)
+ schedule:
+ - cron: '0 18 * * SUN' # Sunday at 18:00 UTC
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+ build:
+ runs-on: ubuntu-20.04
+ if: github.repository == 'OSGeo/PROJ'
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Install Libraries
+ run: |
+ sudo apt-get update
+ sudo apt-get install --allow-unauthenticated curl libcurl4-gnutls-dev libtiff-dev sqlite3 libsqlite3-dev g++ make cmake
+ - name: Configure PROJ
+ run: |
+ cmake . -DCMAKE_BUILD_TYPE=Debug
+ - name: Download Coverity Build Tool
+ run: |
+ wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=OSGeo%2Fproj.4" -O cov-analysis-linux64.tar.gz
+ mkdir cov-analysis-linux64
+ tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
+ env:
+ TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+ - name: Build with cov-build
+ run: |
+ pwd
+ export PATH=`pwd`/cov-analysis-linux64/bin:$PATH
+ cov-build --dir cov-int make -j$(nproc)
+ - name: Submit to Coverity Scan
+ run: |
+ tar czvf proj.tgz cov-int
+ curl \
+ --form project=OSGeo%2Fproj.4 \
+ --form token=$TOKEN \
+ --form email=even.rouault@spatialys.com \
+ --form file=@proj.tgz \
+ --form version=master \
+ --form description="`git rev-parse --abbrev-ref HEAD` `git rev-parse --short HEAD`" \
+ https://scan.coverity.com/builds?project=OSGeo%2Fproj.4
+ env:
+ TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}