]> granicus.if.org Git - vim/commitdiff
patch 8.2.3302: Coverity is not run from github v8.2.3302
authorBram Moolenaar <Bram@vim.org>
Sat, 7 Aug 2021 10:32:20 +0000 (12:32 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 7 Aug 2021 10:32:20 +0000 (12:32 +0200)
Problem:    Coverity is not run from github.
Solution:   Add a coverity script. (James McCoy, closes #8714)

.github/workflows/coverity.yml [new file with mode: 0644]
Filelist
src/version.c

diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
new file mode 100644 (file)
index 0000000..436c7b2
--- /dev/null
@@ -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 }}
index 8ff2feb43607d757fa2d49760d4ee6126d3ee76e..34285eb3b6ed39ff9d9496d5cb84f1276cf387ef 100644 (file)
--- 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 \
index 3f5a6f787f7f3459f946bb8a16f72d40800db4c9..6544fd39f2a0a4daa288acade0c7124476fd4604 100644 (file)
@@ -755,6 +755,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3302,
 /**/
     3301,
 /**/