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>
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 459d593..078e12c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -26,7 +26,6 @@
       TEST: test
       SRCDIR: ./src
       LEAK_CFLAGS: -DEXITFREE
-      CFLAGS: -Wno-deprecated-declarations
       LOG_DIR: ${{ github.workspace }}/logs
       TERM: xterm
       DISPLAY: ':99'
@@ -37,45 +36,40 @@
       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 @@
             libtool-bin \
           )
           if ${{ matrix.features == 'huge' }}; then
+            LUA_VER=${{ matrix.lua_ver || '5.4' }}
             PKGS+=( \
               autoconf \
               gdb \
@@ -98,8 +93,8 @@
               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 @@
             ;;
           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 @@
           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
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
index ba73390..2a713fc 100644
--- a/.github/workflows/coverity.yml
+++ b/.github/workflows/coverity.yml
@@ -13,7 +13,6 @@
 
     env:
       CC: gcc
-      CFLAGS: -Wno-deprecated-declarations
       DEBIAN_FRONTEND: noninteractive
       TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
 
diff --git a/ci/config.mk.sed b/ci/config.mk.sed
index f672edd..06b6f73 100644
--- 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/
diff --git a/src/version.c b/src/version.c
index 6aa73a0..8862ad4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1819,
+/**/
     1818,
 /**/
     1817,