From 3d718159647946eb196b56149e55437d344feb31 Mon Sep 17 00:00:00 2001 From: Michael Tautschnig Date: Tue, 6 Jun 2023 20:21:35 +0000 Subject: [PATCH] Run 32-bit builds and tests as CI job This is detect hardwired 64-bit configuration or tests when those should be platform-independent instead. --- .github/workflows/pull-request-checks.yaml | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/.github/workflows/pull-request-checks.yaml b/.github/workflows/pull-request-checks.yaml index 341a8d15a186..25ce31d7f91e 100644 --- a/.github/workflows/pull-request-checks.yaml +++ b/.github/workflows/pull-request-checks.yaml @@ -418,6 +418,52 @@ jobs: - name: Run tests run: cd build; ctest . -V -L CORE -j2 + # This job takes approximately X to Y minutes + check-ubuntu-22_04-cmake-gcc-32bit: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + - name: Fetch dependencies + env: + # This is needed in addition to -yq to prevent apt-get from asking for + # user input + DEBIAN_FRONTEND: noninteractive + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends -yq cmake ninja-build gcc gdb g++ maven flex bison libxml2-utils ccache doxygen z3 g++-multilib + - name: Confirm z3 solver is available and log the version installed + run: z3 --version + - name: Download cvc-5 from the releases page and make sure it can be deployed + run: | + wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux + chmod u+x cvc5 + mv cvc5 /usr/local/bin + cvc5 --version + - name: Prepare ccache + uses: actions/cache@v3 + with: + path: .ccache + key: ${{ runner.os }}-22.04-Release-32-${{ github.ref }}-${{ github.sha }}-PR + restore-keys: | + ${{ runner.os }}-22.04-Release-32-${{ github.ref }} + ${{ runner.os }}-22.04-Release-32 + - name: ccache environment + run: | + echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV + echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV + - name: Configure using CMake + 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 + - name: Zero ccache stats and limit in size + run: ccache -z --max-size=500M + - name: Build with Ninja + run: ninja -C build -j2 + - name: Print ccache stats + run: ccache -s + - name: Run tests + run: cd build; ctest . -V -L CORE -j2 + # This job takes approximately 5 to 24 minutes check-ubuntu-20_04-cmake-gcc-KNOWNBUG: runs-on: ubuntu-20.04