diff options
author | ichizok <gclient.gaap@gmail.com> | 2023-08-29 22:16:34 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-08-29 22:20:21 +0200 |
commit | 3e1e63de185712a6afa7b4acf4488a5dbcbe5e5f (patch) | |
tree | 5bb468b104ec38542e32a5b6c9327679948b7b45 /.github/workflows | |
parent | 3ac2d3da5fdf20dfddb450a49502ef47b1f581d4 (diff) |
patch 9.0.1819: Github CI too complexv9.0.1819
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>
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/ci.yml | 48 | ||||
-rw-r--r-- | .github/workflows/coverity.yml | 1 |
2 files changed, 19 insertions, 30 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 459d5932d7..078e12cb25 100644 --- 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 diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index ba73390f68..2a713fc058 100644 --- 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 }} |