Skip to content

Commit a3de1cd

Browse files
committed
GHA test fixes
1 parent 49a73e1 commit a3de1cd

File tree

1 file changed

+30
-36
lines changed

1 file changed

+30
-36
lines changed

.github/workflows/test.yml

+30-36
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,9 @@ jobs:
117117
cc_ver: ['9','12']
118118
t:
119119
# qemu x86 doesn't support AVX, so we use Intel SDE instead
120-
- {arch: 'i386', target: 'i686-linux-gnu', libc: 'i386', emu: '$SDE_PATH/sde -icx --'}
120+
# but i386 SDE seems to always segfault on GHA; unable to reproduce the issue locally though
121+
# - `sde -version` does emit "FATAL: cannot determine kernel version"
122+
- {arch: 'i386', target: 'i686-linux-gnu', libc: 'i386', emu: 'qemu-i386-static -L /usr/i686-linux-gnu -cpu max'}
121123
- {arch: 'amd64', target: 'x86-64-linux-gnu', libc: 'amd64', emu: '$SDE_PATH/sde64 -icx --'}
122124
- {arch: 'aarch64', target: 'aarch64-linux-gnu', libc: 'arm64', emu: 'qemu-aarch64-static -L /usr/aarch64-linux-gnu -cpu max,sve-max-vq=4'}
123125
- {arch: 'arm', target: 'arm-linux-gnueabihf', libc: 'armhf', emu: 'qemu-arm-static -L /usr/arm-linux-gnueabihf -cpu max'}
@@ -148,9 +150,9 @@ jobs:
148150
- run: |
149151
echo -e "deb http://azure.archive.ubuntu.com/ubuntu mantic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/mantic.list
150152
sudo apt update
151-
if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' }} # RVV unavailable in Ubuntu 22.04's qemu
153+
if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' || matrix.t.arch == 'i386' }} # RVV unavailable in Ubuntu 22.04's qemu
152154
- run: sudo apt install -y --no-install-recommends qemu-user-static
153-
if: ${{ matrix.t.arch != 'amd64' && matrix.t.arch != 'i386' }}
155+
if: ${{ matrix.t.arch != 'amd64' }}
154156
- run: |
155157
mkdir test/gf16/build
156158
cmake -Btest/gf16/build -Stest/gf16 -DSKIP_AUX=1 -DCMAKE_BUILD_TYPE=${{ matrix.config }} \
@@ -173,15 +175,6 @@ jobs:
173175
cmake --build test/hasher/build
174176
- run: sudo apt install -y libc6:i386 libstdc++6:i386
175177
if: ${{ matrix.t.arch == 'i386' }}
176-
# diagnose odd i386 SDE failure
177-
- run: |
178-
$SDE_PATH/sde -version
179-
echo 'int main(void){return 0;}' > a.c
180-
$CC -static a.c
181-
$SDE_PATH/sde -- ./a.out
182-
$CC a.c
183-
$SDE_PATH/sde -- ./a.out
184-
if: ${{ matrix.t.arch == 'i386' }}
185178
- run: ${{ matrix.t.emu }} test/gf16/build/test
186179
- run: ${{ matrix.t.emu }} test/gf16/build/test-pmul
187180
- run: ${{ matrix.t.emu }} test/gf16/build/test-ctrl -f
@@ -198,7 +191,7 @@ jobs:
198191
# Clang 6 available in 20.04
199192
cc_ver: ['11','15']
200193
t:
201-
- {arch: 'i386', target: 'i686-linux-gnu', cl_target: 'i386-linux-gnu', libc: 'i386', emu: '$SDE_PATH/sde -icx --'}
194+
- {arch: 'i386', target: 'i686-linux-gnu', cl_target: 'i386-linux-gnu', libc: 'i386', emu: 'qemu-i386-static -L /usr/i686-linux-gnu -cpu max'}
202195
- {arch: 'amd64', target: 'x86-64-linux-gnu', cl_target: 'x86_64-linux-gnu', libc: 'amd64', emu: '$SDE_PATH/sde64 -icx --'}
203196
- {arch: 'aarch64', target: 'aarch64-linux-gnu', cl_target: 'aarch64-linux-gnu', libc: 'arm64', emu: 'qemu-aarch64-static -L /usr/aarch64-linux-gnu -cpu max,sve-max-vq=4'}
204197
- {arch: 'arm', target: 'arm-linux-gnueabihf', cl_target: 'armv7a-linux-gnueabihf', libc: 'armhf', emu: 'qemu-arm-static -L /usr/arm-linux-gnueabihf -cpu max'}
@@ -221,9 +214,9 @@ jobs:
221214
- run: |
222215
echo -e "deb http://azure.archive.ubuntu.com/ubuntu mantic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/mantic.list
223216
sudo apt update
224-
if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' }} # RVV unavailable in Ubuntu 22.04's qemu
217+
if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' || matrix.t.arch == 'i386' }} # RVV unavailable in Ubuntu 22.04's qemu
225218
- run: sudo apt install -y --no-install-recommends qemu-user-static
226-
if: ${{ matrix.t.arch != 'amd64' && matrix.t.arch != 'i386' }}
219+
if: ${{ matrix.t.arch != 'amd64' }}
227220
#- run: echo "SANITIZE=-DENABLE_SANITIZE=1" >> $GITHUB_ENV
228221
# if: ${{ matrix.config == 'Release' && matrix.t.arch == 'amd64' && matrix.cc_ver == '15' }} # SDE+ASAN problematic with Clang 11, random hangs with Clang 15
229222
- run: |
@@ -347,31 +340,32 @@ jobs:
347340
timeout-minutes: 45
348341
steps:
349342
- uses: actions/checkout@v3
343+
- run: |
344+
curl http://musl.cc/x86_64-linux-muslx32-native.tgz | tar zxf -
345+
MUSL_BIN=`pwd`/x86_64-linux-muslx32-native/bin/x86_64-linux-muslx32
346+
347+
mkdir test/gf16/build
348+
cmake -Btest/gf16/build -Stest/gf16 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
349+
-DCMAKE_C_COMPILER=$MUSL_BIN-cc \
350+
-DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
351+
-DCMAKE_SYSTEM_PROCESSOR=amd64 \
352+
-DCMAKE_SYSTEM_NAME=Linux
353+
cmake --build test/gf16/build
354+
355+
mkdir test/hasher/build
356+
cmake -Btest/hasher/build -Stest/hasher -DSKIP_AUX=1 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
357+
-DCMAKE_C_COMPILER=$MUSL_BIN-cc \
358+
-DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
359+
-DCMAKE_SYSTEM_PROCESSOR=amd64 \
360+
-DCMAKE_SYSTEM_NAME=Linux
361+
cmake --build test/hasher/build
362+
363+
rm -rf ./x86_64-linux-muslx32-native
364+
350365
- uses: leleliu008/github-actions-vagrant@v1
351366
with:
352367
box: generic/debian12
353368
run: |
354-
apt update && apt install -y build-essential cmake curl
355-
curl http://musl.cc/x86_64-linux-muslx32-native.tgz | tar zxf -
356-
357-
MUSL_BIN=`pwd`/x86_64-linux-muslx32-native/bin/x86_64-linux-muslx32
358-
359-
mkdir test/gf16/build
360-
cmake -Btest/gf16/build -Stest/gf16 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
361-
-DCMAKE_C_COMPILER=$MUSL_BIN-cc \
362-
-DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
363-
-DCMAKE_SYSTEM_PROCESSOR=amd64 \
364-
-DCMAKE_SYSTEM_NAME=Linux
365-
cmake --build test/gf16/build
366-
367-
mkdir test/hasher/build
368-
cmake -Btest/hasher/build -Stest/hasher -DSKIP_AUX=1 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
369-
-DCMAKE_C_COMPILER=$MUSL_BIN-cc \
370-
-DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
371-
-DCMAKE_SYSTEM_PROCESSOR=amd64 \
372-
-DCMAKE_SYSTEM_NAME=Linux
373-
cmake --build test/hasher/build
374-
375369
test/gf16/build/test
376370
test/gf16/build/test-pmul
377371
test/hasher/build/test

0 commit comments

Comments
 (0)