changeset 33183:c8c9d89fc55f v9.0.1871

patch 9.0.1871: Github CI does not run i386 job Commit: https://github.com/vim/vim/commit/a4245a10eacac614dc833a2721cd7c0376627ec8 Author: James McCoy <jamessan@jamessan.com> Date: Tue Sep 5 07:41:23 2023 +0200 patch 9.0.1871: Github CI does not run i386 job Problem: Github CI does not run i386 job Solution: Add a i386 architecture Add CI testing for i386 message_test recently failed on i386, which exposed a gap in the CI testing. Convert the shadowdir job to one that runs on i386 so we get 32-bit test coverage. Since the GHA runners are x86_64, we can enable the i386 architecture in dpkg and install i386 packages for the i386 CI jobs. However, this can't currently be done with features=huge since that would require installing python3-dev:i386, which breaks the CI environment. closes: #12975 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: James McCoy <jamessan@jamessan.com>
author Christian Brabandt <cb@256bit.org>
date Tue, 05 Sep 2023 07:45:10 +0200
parents ab047eb6d559
children 8542e08372c9
files .github/workflows/ci.yml src/version.c
diffstat 2 files changed, 15 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -37,6 +37,10 @@ jobs:
         features: [tiny, normal, huge]
         compiler: [clang, gcc]
         extra: [[]]
+        # Only use non-native architecture when features != huge.
+        # features=huge tries to install python3-dev, which fails to install
+        # for the non-native architecture.
+        architecture: [native]
         include:
           - features: tiny
             compiler: clang
@@ -46,6 +50,8 @@ jobs:
             extra: [nogui]
           - features: normal
             shadow: ./src/shadow
+            compiler: gcc
+            architecture: i386
           - features: huge
             coverage: true
           - features: huge
@@ -75,13 +81,18 @@ jobs:
       - name: Checkout repository from github
         uses: actions/checkout@v3
 
+      - run: sudo dpkg --add-architecture i386
+        if: matrix.architecture == 'i386'
+
       - name: Install packages
         run: |
           PKGS=( \
             gettext \
-            libgtk2.0-dev \
+            libgtk2.0-dev:${{ matrix.architecture }} \
             desktop-file-utils \
             libtool-bin \
+            libncurses-dev:${{ matrix.architecture }} \
+            libxt-dev:${{ matrix.architecture }} \
           )
           if ${{ matrix.features == 'huge' }}; then
             LUA_VER=${{ matrix.lua_ver || '5.4' }}
@@ -106,7 +117,7 @@ jobs:
       - name: Install gcc-${{ env.GCC_VER }}
         if:  matrix.compiler == 'gcc'
         run: |
-          sudo apt-get install -y gcc-${{ env.GCC_VER }}
+          sudo apt-get install -y gcc-${{ env.GCC_VER }}:${{ matrix.architecture }}
           sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100
           sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }}
 
--- 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 */
 /**/
+    1871,
+/**/
     1870,
 /**/
     1869,