Mercurial > vim
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 |
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 }} |