summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/coverity.yml80
-rw-r--r--Filelist1
-rw-r--r--src/version.c2
3 files changed, 83 insertions, 0 deletions
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
new file mode 100644
index 000000000..436c7b2c9
--- /dev/null
+++ b/.github/workflows/coverity.yml
@@ -0,0 +1,80 @@
+name: Coverity
+on:
+ schedule:
+ - cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
+ workflow_dispatch:
+
+jobs:
+ scan:
+ runs-on: ubuntu-18.04
+
+ env:
+ CC: gcc
+ DEBIAN_FRONTEND: noninteractive
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Download Coverity
+ 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
+ env:
+ TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+
+ - name: Install packages
+ 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
+ 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: Set up system
+ run: |
+ # Setup lua5.3 manually since its package doesn't provide alternative.
+ # https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
+ sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
+
+ - name: Configure
+ run: |
+ ./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
+ # Append various warning flags to CFLAGS.
+ sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
+ sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
+
+ - name: Build/scan vim
+ run: |
+ cov-build --dir cov-int make -j${NPROC}
+
+ - name: Submit results
+ 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:
+ TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+ EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
diff --git a/Filelist b/Filelist
index 8ff2feb43..34285eb3b 100644
--- a/Filelist
+++ b/Filelist
@@ -9,6 +9,7 @@ SRC_ALL = \
.github/CODEOWNERS \
.github/workflows/ci.yml \
.github/workflows/codeql-analysis.yml \
+ .github/workflows/coverity.yml \
.gitignore \
.hgignore \
.lgtm.yml \
diff --git a/src/version.c b/src/version.c
index 3f5a6f787..6544fd39f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3302,
+/**/
3301,
/**/
3300,