summaryrefslogtreecommitdiffstats
path: root/.github/workflows/coverity.yml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
commitaed8ce9da277f5ecffe968b324f242c41c3b752a (patch)
treed2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /.github/workflows/coverity.yml
parentInitial commit. (diff)
downloadvim-aed8ce9da277f5ecffe968b324f242c41c3b752a.tar.xz
vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.zip
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.github/workflows/coverity.yml')
-rw-r--r--.github/workflows/coverity.yml84
1 files changed, 84 insertions, 0 deletions
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
new file mode 100644
index 0000000..e399170
--- /dev/null
+++ b/.github/workflows/coverity.yml
@@ -0,0 +1,84 @@
+name: Coverity
+on:
+ schedule:
+ - cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
+ workflow_dispatch:
+
+permissions:
+ contents: read # to fetch code (actions/checkout)
+
+jobs:
+ scan:
+ runs-on: ubuntu-20.04
+
+ env:
+ CC: gcc
+ CFLAGS: -Wno-deprecated-declarations
+ DEBIAN_FRONTEND: noninteractive
+ TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+
+ steps:
+ - name: Checkout repository from github
+ if: env.TOKEN
+ uses: actions/checkout@v3
+
+ - name: Download Coverity
+ if: env.TOKEN
+ run: |
+ wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=vim" -O coverity_tool.tgz
+ mkdir cov-scan
+ tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan
+
+ - name: Install packages
+ if: env.TOKEN
+ run: |
+ sudo apt update && sudo apt install -y \
+ autoconf \
+ gettext \
+ libcanberra-dev \
+ libperl-dev \
+ python-dev \
+ python3-dev \
+ liblua5.3-dev \
+ lua5.3 \
+ ruby-dev \
+ tcl-dev \
+ libgtk2.0-dev \
+ desktop-file-utils \
+ libtool-bin \
+ libsodium-dev
+
+ - name: Set up environment
+ if: env.TOKEN
+ run: |
+ echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
+ (
+ echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
+ echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
+ ) >> $GITHUB_ENV
+
+ - name: Configure
+ if: env.TOKEN
+ run: |
+ ./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
+ # Append various warning flags to CFLAGS.
+ sed -i -f ci/config.mk.sed src/auto/config.mk
+ sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
+
+ - name: Build/scan vim
+ if: env.TOKEN
+ run: |
+ cov-build --dir cov-int make -j${NPROC}
+
+ - name: Submit results
+ if: env.TOKEN
+ run: |
+ tar zcf cov-scan.tgz cov-int
+ curl --form token=$TOKEN \
+ --form email=$EMAIL \
+ --form file=@cov-scan.tgz \
+ --form version="$(git rev-parse HEAD)" \
+ --form description="Automatic GHA scan" \
+ 'https://scan.coverity.com/builds?project=vim'
+ env:
+ EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}