- ext/liboqs: vendored (ML-KEM/ML-DSA ready), -isystem ext/liboqs/include - node/PQHybrid.*: KDF over X25519 agree + ML-KEM-768 encaps scaffold - wire into IncomingPacket/Node/Bond/selftest/OneService paths - zeroidc ext.rs: URL param parser unit tests - SPEC.md: BackOne quantum-safe task table (T1–T23) - research doc: hybrid PQ fork plan (ML-KEM+X25519, ML-DSA+Ed25519)
123 lines
5.1 KiB
YAML
123 lines
5.1 KiB
YAML
name: Extended tests
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on: [workflow_call, workflow_dispatch]
|
|
|
|
jobs:
|
|
|
|
constant-time-x64:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: generic
|
|
container: openquantumsafe/ci-ubuntu-latest:latest
|
|
CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DCMAKE_BUILD_TYPE=Debug -DOQS_ENABLE_TEST_CONSTANT_TIME=ON
|
|
PYTEST_ARGS: --numprocesses=auto -k 'test_constant_time'
|
|
SKIP_ALGS: 'SLH_DSA_(SHA2|SHA3|SHAKE_128)(.)*'
|
|
- name: extensions
|
|
container: openquantumsafe/ci-ubuntu-latest:latest
|
|
CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=haswell -DCMAKE_BUILD_TYPE=Debug -DOQS_ENABLE_TEST_CONSTANT_TIME=ON
|
|
PYTEST_ARGS: --numprocesses=auto -k 'test_constant_time'
|
|
SKIP_ALGS: 'SLH_DSA_(SHA2|SHA3|SHAKE_128)(.)*'
|
|
container:
|
|
image: ${{ matrix.container }}
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
|
|
- name: Configure
|
|
run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N ..
|
|
- name: Build
|
|
run: ninja
|
|
working-directory: build
|
|
- name: Run tests
|
|
timeout-minutes: 360
|
|
run: mkdir -p tmp && SKIP_ALGS='${{ matrix.SKIP_ALGS }}' python3 -m pytest --verbose ${{ matrix.PYTEST_ARGS }}
|
|
|
|
nistkat-x64:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: generic
|
|
container: openquantumsafe/ci-ubuntu-latest:latest
|
|
CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic
|
|
PYTEST_ARGS: --numprocesses=auto -k 'test_kat_all'
|
|
- name: generic-libjade
|
|
container: openquantumsafe/ci-ubuntu-latest:latest
|
|
CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD="${{ vars.LIBJADE_ALG_LIST }}"
|
|
PYTEST_ARGS: --numprocesses=auto -k 'test_kat_all'
|
|
- name: extensions
|
|
container: openquantumsafe/ci-ubuntu-latest:latest
|
|
CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=auto
|
|
PYTEST_ARGS: --numprocesses=auto -k 'test_kat_all'
|
|
- name: extensions-libjade
|
|
container: openquantumsafe/ci-ubuntu-latest:latest
|
|
CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=auto -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD="${{ vars.LIBJADE_ALG_LIST}}"
|
|
PYTEST_ARGS: --numprocesses=auto -k 'test_kat_all'
|
|
container:
|
|
image: ${{ matrix.container }}
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v4
|
|
- name: Configure
|
|
run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N ..
|
|
- name: Build
|
|
run: ninja
|
|
working-directory: build
|
|
- name: Run tests
|
|
timeout-minutes: 360
|
|
run: mkdir -p tmp && python3 -m pytest --verbose ${{ matrix.PYTEST_ARGS }}
|
|
|
|
slhdsa-leak-tests:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: arm64-slhdsa
|
|
runner: ubuntu-24.04-arm
|
|
container: openquantumsafe/ci-ubuntu-latest:latest
|
|
PYTEST_ARGS: --maxprocesses=10 --ignore=tests/test_kat_all.py
|
|
CMAKE_ARGS: -DOQS_MINIMAL_BUILD=SIG_slh_dsa
|
|
- name: alpine-slhdsa
|
|
runner: ubuntu-latest
|
|
container: openquantumsafe/ci-alpine-amd64:latest
|
|
CMAKE_ARGS: -DOQS_STRICT_WARNINGS=ON -DOQS_USE_OPENSSL=ON -DBUILD_SHARED_LIBS=ON -DOQS_MINIMAL_BUILD=SIG_slh_dsa
|
|
PYTEST_ARGS: --ignore=tests/test_alg_info.py --ignore=tests/test_kat_all.py
|
|
runs-on: ${{ matrix.runner }}
|
|
container:
|
|
image: ${{ matrix.container }}
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v4
|
|
- name: Configure
|
|
run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N ..
|
|
- name: Build
|
|
run: ninja
|
|
working-directory: build
|
|
- name: Run tests
|
|
timeout-minutes: 90
|
|
run: mkdir -p tmp && SLH_DSA_LEAK_TEST=1 python3 -m pytest --verbose --numprocesses=auto tests/test_leaks.py::test_slhdsa_leak ${{ matrix.PYTEST_ARGS }}
|
|
|
|
address-sanitizer-slhdsa:
|
|
strategy:
|
|
fail-fast: false
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: openquantumsafe/ci-ubuntu-latest:latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v4
|
|
- name: Configure
|
|
run: mkdir build && cd build && cmake -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=Address -DOQS_MINIMAL_BUILD=SIG_slh_dsa .. && cmake -LA -N ..
|
|
- name: Build
|
|
run: ninja
|
|
working-directory: build
|
|
- name: Run tests
|
|
timeout-minutes: 90
|
|
run: mkdir -p tmp && python3 -m pytest --verbose --ignore=tests/test_code_conventions.py --numprocesses=auto --ignore=tests/test_distbuild.py --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py --maxprocesses=10
|