From 15a6b4805e5bb5a2532712cab1b1ebdef03d7263 Mon Sep 17 00:00:00 2001 From: Aiden Fox Ivey Date: Tue, 9 Sep 2025 17:02:24 -0400 Subject: [PATCH] Move linux_arm_emulated to extended tests (#2236) Signed-off-by: Aiden Fox Ivey Co-authored-by: Douglas Stebila --- .github/workflows/extended.yml | 44 +++++++++++++++++++++++++++++++++ .github/workflows/linux.yml | 45 ---------------------------------- PLATFORMS.md | 2 +- 3 files changed, 45 insertions(+), 46 deletions(-) diff --git a/.github/workflows/extended.yml b/.github/workflows/extended.yml index 0b826c946..9f59412fb 100644 --- a/.github/workflows/extended.yml +++ b/.github/workflows/extended.yml @@ -97,6 +97,50 @@ jobs: timeout-minutes: 360 run: mkdir -p tmp && python3 -m pytest --verbose ${{ matrix.PYTEST_ARGS }} + linux_arm_emulated: + runs-on: ubuntu-latest + timeout-minutes: 85 # max + 3*std over the last thousands of successful runs + strategy: + fail-fast: false + matrix: + include: + - name: armhf + ARCH: armhf + CMAKE_ARGS: -DOQS_ENABLE_SIG_SPHINCS=OFF -DOQS_USE_OPENSSL=OFF -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON + PYTEST_ARGS: --ignore=tests/test_alg_info.py --ignore=tests/test_kat_all.py + - name: armhf-no-stfl-key-sig-gen + ARCH: armhf + CMAKE_ARGS: -DOQS_ENABLE_SIG_SPHINCS=OFF -DOQS_USE_OPENSSL=OFF -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=OFF -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON + PYTEST_ARGS: --ignore=tests/test_alg_info.py --ignore=tests/test_kat_all.py + steps: + - name: Checkout code + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 + - name: Install the emulation handlers + run: docker run --rm --privileged multiarch/qemu-user-static:register --reset + - name: Build in an x86_64 container + run: | + docker run --rm \ + -v `pwd`:`pwd` \ + -w `pwd` \ + openquantumsafe/ci-debian-buster-amd64:latest /bin/bash \ + -c "mkdir build && \ + (cd build && \ + cmake .. -GNinja ${{ matrix.CMAKE_ARGS }} \ + -DCMAKE_TOOLCHAIN_FILE=../.CMake/toolchain_${{ matrix.ARCH }}.cmake && \ + cmake -LA -N .. && \ + ninja)" + - name: Run the tests in an ${{ matrix.ARCH }} container + timeout-minutes: 60 + run: | + docker run --rm -e SKIP_TESTS=style,mem_kem,mem_sig \ + -v `pwd`:`pwd` \ + -w `pwd` \ + openquantumsafe/ci-debian-buster-${{ matrix.ARCH }}:latest /bin/bash \ + -c "mkdir -p tmp && \ + python3 -m pytest --verbose \ + --numprocesses=auto \ + --ignore=tests/test_code_conventions.py ${{ matrix.PYTEST_ARGS }}" + slhdsa-leak-tests: strategy: fail-fast: false diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 01c708d78..17939d258 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -174,51 +174,6 @@ jobs: run: 'tests/dump_alg_info | grep -zoP "ML-DSA-44:\n isnull: false" && tests/dump_alg_info | grep -zoP "ML-KEM-512:\n isnull: false"' working-directory: build - linux_arm_emulated: - runs-on: ubuntu-latest - timeout-minutes: 85 # max + 3*std over the last thousands of successful runs - strategy: - fail-fast: false - matrix: - include: - - name: armhf - ARCH: armhf - CMAKE_ARGS: -DOQS_ENABLE_SIG_SPHINCS=OFF -DOQS_ENABLE_SIG_SLH_DSA=OFF -DOQS_USE_OPENSSL=OFF -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON - PYTEST_ARGS: --ignore=tests/test_alg_info.py --ignore=tests/test_kat_all.py - - name: armhf-no-stfl-key-sig-gen - ARCH: armhf - CMAKE_ARGS: -DOQS_ENABLE_SIG_SPHINCS=OFF -DOQS_ENABLE_SIG_SLH_DSA=OFF -DOQS_USE_OPENSSL=OFF -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=OFF -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON - PYTEST_ARGS: --ignore=tests/test_alg_info.py --ignore=tests/test_kat_all.py - - steps: - - name: Checkout code - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 - - name: Install the emulation handlers - run: docker run --rm --privileged multiarch/qemu-user-static:register --reset - - name: Build in an x86_64 container - run: | - docker run --rm \ - -v `pwd`:`pwd` \ - -w `pwd` \ - openquantumsafe/ci-debian-buster-amd64:latest /bin/bash \ - -c "mkdir build && \ - (cd build && \ - cmake .. -GNinja ${{ matrix.CMAKE_ARGS }} \ - -DCMAKE_TOOLCHAIN_FILE=../.CMake/toolchain_${{ matrix.ARCH }}.cmake && \ - cmake -LA -N .. && \ - ninja)" - - name: Run the tests in an ${{ matrix.ARCH }} container - timeout-minutes: 60 - run: | - docker run --rm -e SKIP_TESTS=style,mem_kem,mem_sig \ - -v `pwd`:`pwd` \ - -w `pwd` \ - openquantumsafe/ci-debian-buster-${{ matrix.ARCH }}:latest /bin/bash \ - -c "mkdir -p tmp && \ - python3 -m pytest --verbose \ - --numprocesses=auto \ - --ignore=tests/test_code_conventions.py ${{ matrix.PYTEST_ARGS }}" - linux_cross_compile: runs-on: ubuntu-latest container: openquantumsafe/ci-ubuntu-latest:latest diff --git a/PLATFORMS.md b/PLATFORMS.md index b75158711..edaa7edc2 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -50,7 +50,6 @@ In this policy, the words "must" and "must not" specify absolute requirements th - x86_64/amd64/x64 for MacOS (XCode 15) - aarch64 for Ubuntu (Noble) - aarch64 for MacOS (XCode 15 and 16) -- armhf/ARM7 emulation on Ubuntu ### Tier 2 @@ -58,6 +57,7 @@ In this policy, the words "must" and "must not" specify absolute requirements th - armeabi-v7a, arm64-v8a, x86, x86_64 for Android - aarch64 for Apple iOS and tvOS (CMake `-DPLATFORM=OS64` and `TVOS`) - arm64, arm (32 bit), x86, x86_64, riscv32, riscv64 for Zephyr +- armhf/ARM7 emulation on Ubuntu ### Tier 3