CI: github: add an i686 job to the push job

Add an i686 job in order to run reg-tests on 32-bit architecture.

Use the i386 SSL and PCRE2 library provided by ubuntu.

VTest is still compiled in x86_64.
This commit is contained in:
William Lallemand 2026-04-20 14:51:48 +02:00 committed by William Lallemand
parent c1c2a2bfe0
commit 40042afc13
2 changed files with 22 additions and 0 deletions

18
.github/matrix.py vendored
View File

@ -145,9 +145,11 @@ def main(ref_name):
if is_stable:
os = "ubuntu-24.04" # stable branch
os_arm = "ubuntu-24.04-arm" # stable branch
os_i686 = "ubuntu-24.04" # stable branch
else:
os = "ubuntu-24.04" # development branch
os_arm = "ubuntu-24.04-arm" # development branch
os_i686 = "ubuntu-24.04" # development branch
TARGET = "linux-glibc"
for CC in ["gcc", "clang"]:
@ -335,6 +337,22 @@ def main(ref_name):
}
)
# i686
matrix.append(
{
"name": "{}, i686-linux-gnu-gcc".format(os_i686),
"os": os_i686,
"TARGET": "linux-glibc",
"CC": "i686-linux-gnu-gcc",
"FLAGS": [
"USE_OPENSSL=1",
"USE_PCRE2=1",
"USE_PCRE2_JIT=1",
],
}
)
# Print matrix
print(json.dumps(matrix, indent=4, sort_keys=True))

View File

@ -72,6 +72,9 @@ jobs:
with:
path: '~/opt-ot/'
key: ${{ matrix.os }}-ot-${{ matrix.CC }}-${{ env.OT_CPP_VERSION }}-${{ contains(matrix.name, 'ASAN') }}
- name: Add i386 architecture
if: ${{ matrix.CC == 'i686-linux-gnu-gcc' }}
run: sudo dpkg --add-architecture i386
- name: Install apt dependencies
if: ${{ startsWith(matrix.os, 'ubuntu-') && matrix.TARGET != 'linux-musl' }}
run: |
@ -80,6 +83,7 @@ jobs:
${{ case(contains(matrix.FLAGS, 'USE_LUA=1'), 'liblua5.4-dev', '') }} \
${{ case(contains(matrix.FLAGS, 'USE_PCRE2=1'), 'libpcre2-dev', '') }} \
${{ case(contains(matrix.ssl, 'BORINGSSL=yes'), 'ninja-build', '') }} \
${{ case(matrix.CC == 'i686-linux-gnu-gcc', 'gcc-i686-linux-gnu libc6-dev-i386-cross libssl-dev:i386 libpcre2-dev:i386', '') }} \
socat \
gdb \
jose