summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2023-09-05 07:41:23 +0200
committerChristian Brabandt <cb@256bit.org>2023-09-05 07:41:23 +0200
commita4245a10eacac614dc833a2721cd7c0376627ec8 (patch)
tree1a05fb48c8de4e1400365e46d51ce6cc43349b16 /.github/workflows
parent00df69e62b2233d758f8c988794d66d53e887260 (diff)
patch 9.0.1871: Github CI does not run i386 jobv9.0.1871
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>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci.yml15
1 files changed, 13 insertions, 2 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 036b36a394..58298271a0 100644
--- 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 }}