Skip to content

Commit f548c16

Browse files
committed
Run 32-bit builds and tests as CI job
This is to detect hardwired 64-bit configuration or tests when those should be platform-independent instead.
1 parent 2084143 commit f548c16

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

.github/workflows/pull-request-checks.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,52 @@ jobs:
418418
- name: Run tests
419419
run: cd build; ctest . -V -L CORE -j2
420420

421+
# This job takes approximately 30 to 60 minutes
422+
check-ubuntu-22_04-cmake-gcc-32bit:
423+
runs-on: ubuntu-22.04
424+
steps:
425+
- uses: actions/checkout@v3
426+
with:
427+
submodules: recursive
428+
- name: Fetch dependencies
429+
env:
430+
# This is needed in addition to -yq to prevent apt-get from asking for
431+
# user input
432+
DEBIAN_FRONTEND: noninteractive
433+
run: |
434+
sudo apt-get update
435+
sudo apt-get install --no-install-recommends -yq cmake ninja-build gcc gdb g++ maven flex bison libxml2-utils ccache doxygen z3 g++-multilib
436+
- name: Confirm z3 solver is available and log the version installed
437+
run: z3 --version
438+
- name: Download cvc-5 from the releases page and make sure it can be deployed
439+
run: |
440+
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
441+
chmod u+x cvc5
442+
mv cvc5 /usr/local/bin
443+
cvc5 --version
444+
- name: Prepare ccache
445+
uses: actions/cache@v3
446+
with:
447+
path: .ccache
448+
key: ${{ runner.os }}-22.04-Release-32-${{ github.ref }}-${{ github.sha }}-PR
449+
restore-keys: |
450+
${{ runner.os }}-22.04-Release-32-${{ github.ref }}
451+
${{ runner.os }}-22.04-Release-32
452+
- name: ccache environment
453+
run: |
454+
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
455+
echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
456+
- name: Configure using CMake
457+
run: cmake -S . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -Dsat_impl="minisat2;cadical" -DCMAKE_CXX_FLAGS=-m32
458+
- name: Zero ccache stats and limit in size
459+
run: ccache -z --max-size=500M
460+
- name: Build with Ninja
461+
run: ninja -C build -j2
462+
- name: Print ccache stats
463+
run: ccache -s
464+
- name: Run tests
465+
run: cd build; ctest . -V -L CORE -j2
466+
421467
# This job takes approximately 5 to 24 minutes
422468
check-ubuntu-20_04-cmake-gcc-KNOWNBUG:
423469
runs-on: ubuntu-20.04

0 commit comments

Comments
 (0)