annotate .github/workflows/coverity.yml @ 33101:8cbdd2cbf10a v9.0.1835

patch 9.0.1835: Perl interface has problems with load PL_current_context Commit: https://github.com/vim/vim/commit/7a9d1aa878d8724e28893b968016b86a3a70c63f Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Fri Sep 1 18:46:17 2023 +0200 patch 9.0.1835: Perl interface has problems with load PL_current_context Problem: Perl interface has problems with load PL_current_context Solution: Fix Perl interface to load PL_current_context from library In #12914, in order to fix an issue with Perl 5.36 dynamic builds, (that version introduced a thread-local `PL_current_context`), the file added the variable manually so we can satisfy the linker. However, the variable is a different one from the one in the library, so there could be unpredictable behavior. Instead, just use `dlsym` to load the context from the library. The fact that it's thread-local doesn't matter too much to us because Vim's interface is single-threaded so it will work properly. closes: #12996 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Fri, 01 Sep 2023 19:00:04 +0200
parents eb8ab50073b9
children db65486d8d75
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 name: Coverity
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 on:
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 schedule:
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 - cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5 workflow_dispatch:
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6
30515
5b94b8c82687 patch 9.0.0593: CI actions have too many permissions
Bram Moolenaar <Bram@vim.org>
parents: 29928
diff changeset
7 permissions:
5b94b8c82687 patch 9.0.0593: CI actions have too many permissions
Bram Moolenaar <Bram@vim.org>
parents: 29928
diff changeset
8 contents: read # to fetch code (actions/checkout)
5b94b8c82687 patch 9.0.0593: CI actions have too many permissions
Bram Moolenaar <Bram@vim.org>
parents: 29928
diff changeset
9
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10 jobs:
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 scan:
32286
dd85b8e05559 patch 9.0.1474: CI runs with old version of Ubuntu and tools
Bram Moolenaar <Bram@vim.org>
parents: 31225
diff changeset
12 runs-on: ubuntu-22.04
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 env:
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 CC: gcc
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 DEBIAN_FRONTEND: noninteractive
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
17 TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 steps:
29060
a8c0c5865e73 patch 8.2.5052: CI checkout step title is a bit cryptic
Bram Moolenaar <Bram@vim.org>
parents: 28927
diff changeset
20 - name: Checkout repository from github
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
21 if: env.TOKEN
29060
a8c0c5865e73 patch 8.2.5052: CI checkout step title is a bit cryptic
Bram Moolenaar <Bram@vim.org>
parents: 28927
diff changeset
22 uses: actions/checkout@v3
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 - name: Download Coverity
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
25 if: env.TOKEN
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 run: |
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
27 wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=vim" -O coverity_tool.tgz
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28 mkdir cov-scan
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31 - name: Install packages
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
32 if: env.TOKEN
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33 run: |
32286
dd85b8e05559 patch 9.0.1474: CI runs with old version of Ubuntu and tools
Bram Moolenaar <Bram@vim.org>
parents: 31225
diff changeset
34 sudo apt-get update && sudo apt-get install -y \
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
35 autoconf \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
36 gettext \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
37 libcanberra-dev \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
38 libperl-dev \
32286
dd85b8e05559 patch 9.0.1474: CI runs with old version of Ubuntu and tools
Bram Moolenaar <Bram@vim.org>
parents: 31225
diff changeset
39 python2-dev \
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 python3-dev \
32286
dd85b8e05559 patch 9.0.1474: CI runs with old version of Ubuntu and tools
Bram Moolenaar <Bram@vim.org>
parents: 31225
diff changeset
41 liblua5.4-dev \
dd85b8e05559 patch 9.0.1474: CI runs with old version of Ubuntu and tools
Bram Moolenaar <Bram@vim.org>
parents: 31225
diff changeset
42 lua5.4 \
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 ruby-dev \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
44 tcl-dev \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
45 libgtk2.0-dev \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
46 desktop-file-utils \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
47 libtool-bin \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
48 libsodium-dev
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
49
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
50 - name: Set up environment
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
51 if: env.TOKEN
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
52 run: |
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
53 echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
54 (
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
55 echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
56 echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
57 ) >> $GITHUB_ENV
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
58
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
59 - name: Configure
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
60 if: env.TOKEN
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
61 run: |
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
62 ./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
63 # Append various warning flags to CFLAGS.
25565
62fa7eb84625 patch 8.2.3319: Coverity action on github does not work
Bram Moolenaar <Bram@vim.org>
parents: 25531
diff changeset
64 sed -i -f ci/config.mk.sed src/auto/config.mk
62fa7eb84625 patch 8.2.3319: Coverity action on github does not work
Bram Moolenaar <Bram@vim.org>
parents: 25531
diff changeset
65 sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
66
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
67 - name: Build/scan vim
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
68 if: env.TOKEN
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
69 run: |
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
70 cov-build --dir cov-int make -j${NPROC}
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
71
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
72 - name: Submit results
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
73 if: env.TOKEN
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
74 run: |
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
75 tar zcf cov-scan.tgz cov-int
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
76 curl --form token=$TOKEN \
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
77 --form email=$EMAIL \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
78 --form file=@cov-scan.tgz \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
79 --form version="$(git rev-parse HEAD)" \
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
80 --form description="Automatic GHA scan" \
31225
39d22d78ce92 patch 9.0.0946: CI: Error in Coverity flow is not reported
Bram Moolenaar <Bram@vim.org>
parents: 31207
diff changeset
81 'https://scan.coverity.com/builds?project=vim'
25531
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
82 env:
8a8847008e27 patch 8.2.3302: Coverity is not run from github
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
83 EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}