diff options
author | James McCoy <jamessan@jamessan.com> | 2023-09-05 07:41:23 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-09-05 07:41:23 +0200 |
commit | a4245a10eacac614dc833a2721cd7c0376627ec8 (patch) | |
tree | 1a05fb48c8de4e1400365e46d51ce6cc43349b16 /.github/workflows | |
parent | 00df69e62b2233d758f8c988794d66d53e887260 (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.yml | 15 |
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 }} |