changeset 33063:eb8ab50073b9 v9.0.1819

patch 9.0.1819: Github CI too complex Commit: https://github.com/vim/vim/commit/3e1e63de185712a6afa7b4acf4488a5dbcbe5e5f Author: ichizok <gclient.gaap@gmail.com> Date: Tue Aug 29 22:16:34 2023 +0200 patch 9.0.1819: Github CI too complex Problem: Github CI too complex Solution: CI: Tidy up matrix Perform the following changes to the CI configuration: - Move common CFLAGS to ci/config.mk.sed - Change extra key to array to able to assign no or multiple values explicitly - Modify luaver variable handling - lib${{ matrix.luaver }}-dev ${{ matrix.luaver }} are confusing as package names - Deduplicate CONFOPT setting closes: #12955 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: ichizok <gclient.gaap@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Tue, 29 Aug 2023 22:30:05 +0200
parents eca516f9c19f
children b29e94d1422f
files .github/workflows/ci.yml .github/workflows/coverity.yml ci/config.mk.sed src/version.c
diffstat 4 files changed, 22 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -26,7 +26,6 @@ jobs:
       TEST: test
       SRCDIR: ./src
       LEAK_CFLAGS: -DEXITFREE
-      CFLAGS: -Wno-deprecated-declarations
       LOG_DIR: ${{ github.workspace }}/logs
       TERM: xterm
       DISPLAY: ':99'
@@ -37,45 +36,40 @@ jobs:
       matrix:
         features: [tiny, normal, huge]
         compiler: [clang, gcc]
-        extra: [none]
-        luaver: [lua5.4]
+        extra: [[]]
         include:
           - features: tiny
             compiler: clang
-            extra: nogui
+            extra: [nogui]
           - features: tiny
             compiler: gcc
-            extra: nogui
+            extra: [nogui]
           - features: normal
             shadow: ./src/shadow
           - features: huge
             coverage: true
           - features: huge
             compiler: clang
-            extra: none
             interface: dynamic
             python3: stable-abi
           - features: huge
             compiler: gcc
             coverage: true
             interface: dynamic
-            extra: testgui
-            uchar: true
-            luaver: lua5.4
+            extra: [uchar, testgui]
           - features: huge
             compiler: clang
-            extra: asan
             # Lua5.1 is the most widely used version (since it's what LuaJIT is
             # compatible with), so ensure it works
-            luaver: lua5.1
+            lua_ver: '5.1'
+            extra: [asan]
           - features: huge
             compiler: gcc
             coverage: true
-            extra: unittests
-            luaver: lua5.4
+            extra: [unittests]
           - features: normal
             compiler: gcc
-            extra: vimtags
+            extra: [vimtags]
 
     steps:
       - name: Checkout repository from github
@@ -90,6 +84,7 @@ jobs:
             libtool-bin \
           )
           if ${{ matrix.features == 'huge' }}; then
+            LUA_VER=${{ matrix.lua_ver || '5.4' }}
             PKGS+=( \
               autoconf \
               gdb \
@@ -98,8 +93,8 @@ jobs:
               libperl-dev \
               python2-dev \
               python3-dev \
-              lib${{ matrix.luaver }}-dev \
-              ${{ matrix.luaver }} \
+              liblua${LUA_VER}-dev \
+              lua${LUA_VER} \
               ruby-dev \
               tcl-dev \
               cscope \
@@ -148,25 +143,20 @@ jobs:
             ;;
           huge)
             echo "TEST=scripttests test_libvterm"
-            if ${{ matrix.interface == 'dynamic' }}; then
-              if ${{ matrix.python3 == 'stable-abi' }}; then
-                PYTHON3_FLAGS="--with-python3-stable-abi=3.8"
-              else
-                PYTHON3_FLAGS=""
-              fi
-              echo "CONFOPT=--enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --enable-tclinterp=dynamic ${PYTHON3_FLAGS}"
-            else
-              echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
+            INTERFACE=${{ matrix.interface || 'yes' }}
+            if ${{ matrix.python3 == 'stable-abi' }}; then
+              PYTHON3_CONFOPT="--with-python3-stable-abi=3.8"
             fi
+            echo "CONFOPT=--enable-perlinterp=${INTERFACE} --enable-pythoninterp=${INTERFACE} --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
             ;;
           esac
 
           if ${{ matrix.coverage == true }}; then
-            CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
+            CFLAGS="${CFLAGS} --coverage -DUSE_GCOV_FLUSH"
             echo "LDFLAGS=--coverage"
           fi
-          if ${{ matrix.uchar == true }}; then
-            CFLAGS="$CFLAGS -funsigned-char"
+          if ${{ contains(matrix.extra, 'uchar') }}; then
+            CFLAGS="${CFLAGS} -funsigned-char"
           fi
           if ${{ contains(matrix.extra, 'testgui') }}; then
             echo "TEST=-C src testgui"
@@ -183,7 +173,7 @@ jobs:
           if ${{ contains(matrix.extra, 'vimtags') }}; then
             echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
           fi
-          echo "CFLAGS=$CFLAGS"
+          echo "CFLAGS=${CFLAGS}"
           ) >> $GITHUB_ENV
 
       - name: Set up system
--- a/.github/workflows/coverity.yml
+++ b/.github/workflows/coverity.yml
@@ -13,7 +13,6 @@ jobs:
 
     env:
       CC: gcc
-      CFLAGS: -Wno-deprecated-declarations
       DEBIAN_FRONTEND: noninteractive
       TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
 
--- a/ci/config.mk.sed
+++ b/ci/config.mk.sed
@@ -1,3 +1,3 @@
-/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
+/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror -Wno-deprecated-declarations/
 /^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function -Wno-shadow/
 /^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter/
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1819,
+/**/
     1818,
 /**/
     1817,