-
Notifications
You must be signed in to change notification settings - Fork 497
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'open-quantum-safe:main' into main
- Loading branch information
Showing
232 changed files
with
88,832 additions
and
999 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,13 @@ name: Linux and MacOS tests | |
permissions: | ||
contents: read | ||
|
||
on: [ push, pull_request ] | ||
on: [ push, pull_request , workflow_dispatch] | ||
|
||
env: | ||
# Semi-colon separated list of algorithims with libjade implementations to | ||
# be passed as input to CMake option as: -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
# See CONFIGURE.md under ## OQS_MINIMAL_BUILD | ||
LIBJADE_ALG_LIST: "KEM_kyber_512;KEM_kyber_768" | ||
|
||
jobs: | ||
|
||
|
@@ -23,20 +29,32 @@ jobs: | |
|
||
upstreamcheck: | ||
name: Check upstream code is properly integrated | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
copy-mode: | ||
- copy | ||
- libjade | ||
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Setup nix | ||
uses: cachix/install-nix-action@v26 | ||
- name: Setup jasmin-compiler | ||
run: | | ||
nix-channel --add https://nixos.org/channels/nixos-23.11 nixpkgs && \ | ||
nix-channel --update && nix-env -iA nixpkgs.jasmin-compiler | ||
- name: Checkout code | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 | ||
- name: Verify copy_from_upstream state | ||
- name: Verify copy_from_upstream state after "${{ matrix.copy-mode}}" | ||
run: | | ||
git config --global user.name "ciuser" && \ | ||
git config --global user.email "[email protected]" && \ | ||
export LIBOQS_DIR=`pwd` && \ | ||
git config --global --add safe.directory $LIBOQS_DIR && \ | ||
cd scripts/copy_from_upstream && \ | ||
! pip3 install --require-hashes -r requirements.txt 2>&1 | grep ERROR && \ | ||
python3 copy_from_upstream.py copy && \ | ||
python3 copy_from_upstream.py ${{ matrix.copy-mode }} && \ | ||
! git status | grep modified | ||
buildcheck: | ||
|
@@ -45,12 +63,14 @@ jobs: | |
strategy: | ||
matrix: | ||
include: | ||
- arch: arm64 | ||
runner: oqs-arm64 | ||
- arch: x86_64 | ||
runner: ubuntu-latest | ||
- runner: oqs-arm64 | ||
container: openquantumsafe/ci-ubuntu-focal-arm64:latest | ||
- runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
- runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-latest:latest | ||
runs-on: ${{ matrix.runner }} | ||
container: openquantumsafe/ci-ubuntu-focal-${{ matrix.arch }}:latest | ||
container: ${{ matrix.container }} | ||
env: | ||
KEM_NAME: kyber_768 | ||
SIG_NAME: dilithium_3 | ||
|
@@ -74,7 +94,7 @@ jobs: | |
- name: Build documentation | ||
run: ninja gen_docs | ||
working-directory: build | ||
if: matrix.arch == 'x86_64' | ||
if: matrix.runner == 'ubuntu-latest' | ||
|
||
linux: | ||
needs: buildcheck | ||
|
@@ -92,6 +112,11 @@ jobs: | |
container: openquantumsafe/ci-alpine-amd64:latest | ||
CMAKE_ARGS: -DOQS_STRICT_WARNINGS=ON -DOQS_USE_OPENSSL=ON -DBUILD_SHARED_LIBS=ON -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: alpine | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-alpine-amd64:latest | ||
CMAKE_ARGS: -DOQS_STRICT_WARNINGS=ON -DOQS_USE_OPENSSL=ON -DBUILD_SHARED_LIBS=ON -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
PYTEST_ARGS: --ignore=tests/test_alg_info.py --ignore=tests/test_kat_all.py | ||
- name: alpine-no-stfl-key-sig-gen | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-alpine-amd64:latest | ||
|
@@ -122,6 +147,11 @@ jobs: | |
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
CMAKE_ARGS: -DCMAKE_C_COMPILER=gcc-8 -DOQS_USE_OPENSSL=OFF | ||
PYTEST_ARGS: --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py | ||
- name: focal-noopenssl | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
CMAKE_ARGS: -DCMAKE_C_COMPILER=gcc-8 -DOQS_USE_OPENSSL=OFF -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
PYTEST_ARGS: --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py | ||
- name: focal-shared-noopenssl | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
|
@@ -137,11 +167,21 @@ jobs: | |
container: openquantumsafe/ci-ubuntu-jammy:latest | ||
CMAKE_ARGS: -DOQS_STRICT_WARNINGS=ON -DOQS_ALGS_ENABLED=STD -DBUILD_SHARED_LIBS=ON | ||
PYTEST_ARGS: --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py | ||
- name: jammy-std-openssl3-libjade | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-jammy:latest | ||
CMAKE_ARGS: -DOQS_STRICT_WARNINGS=ON -DOQS_ALGS_ENABLED=STD -DBUILD_SHARED_LIBS=ON -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
PYTEST_ARGS: --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py | ||
- name: jammy-std-openssl3-dlopen | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-jammy:latest | ||
CMAKE_ARGS: -DOQS_STRICT_WARNINGS=ON -DOQS_ALGS_ENABLED=STD -DBUILD_SHARED_LIBS=ON -DOQS_DLOPEN_OPENSSL=ON | ||
PYTEST_ARGS: --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py | ||
- name: jammy-std-openssl3-dlopen-libjade | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-jammy:latest | ||
CMAKE_ARGS: -DOQS_STRICT_WARNINGS=ON -DOQS_ALGS_ENABLED=STD -DBUILD_SHARED_LIBS=ON -DOQS_DLOPEN_OPENSSL=ON -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
PYTEST_ARGS: --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py | ||
- name: address-sanitizer | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
|
@@ -152,6 +192,11 @@ jobs: | |
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9 -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=Address -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_distbuild.py --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py --maxprocesses=10 | ||
- name: address-sanitizer-libjade | ||
runner: ubuntu-latest | ||
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest | ||
CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9 -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=Address -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
PYTEST_ARGS: --ignore=tests/test_distbuild.py --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py --maxprocesses=10 | ||
runs-on: ${{ matrix.runner }} | ||
container: | ||
image: ${{ matrix.container }} | ||
|
@@ -178,7 +223,7 @@ jobs: | |
path: build/*.deb | ||
- name: Check STD algorithm and alias | ||
if: matrix.name == 'jammy-std-openssl3' | ||
run: 'tests/dump_alg_info | grep -zoP "ML-DSA-44:\n isnull: false" && tests/dump_alg_info | grep -zoP "ML-DSA-44-ipd:\n isnull: true" && tests/dump_alg_info | grep -zoP "ML-KEM-512:\n isnull: false" && tests/dump_alg_info | grep -zoP "ML-KEM-512-ipd:\n isnull: true"' | ||
run: 'tests/dump_alg_info | grep -zoP "ML-DSA-44:\n isnull: false" && tests/dump_alg_info | grep -zoP "ML-DSA-44-ipd:\n isnull: true" && tests/dump_alg_info | grep -zoP "ML-KEM-512:\n isnull: false"' | ||
working-directory: build | ||
|
||
linux_arm_emulated: | ||
|
@@ -265,6 +310,16 @@ jobs: | |
- -DCMAKE_C_COMPILER=gcc-13 | ||
- -DOQS_USE_OPENSSL=OFF | ||
- -DBUILD_SHARED_LIBS=ON -DOQS_DIST_BUILD=OFF | ||
libjade-build: | ||
- -DOQS_LIBJADE_BUILD=OFF | ||
# Restrict -DOQS_LIBJADE_BUILD=ON build to algs provided by | ||
# libjade to minimise repeated tests | ||
- -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
exclude: | ||
# macos-14 runs on aarch64, libjade targets x86 | ||
# Skip testing libjade on macos-14 | ||
- os: macos-14 | ||
libjade-build: -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Install Python | ||
|
@@ -280,7 +335,7 @@ jobs: | |
- name: Get system information | ||
run: sysctl -a | grep machdep.cpu | ||
- name: Configure | ||
run: mkdir -p build && cd build && source ~/.bashrc && cmake -GNinja -DOQS_STRICT_WARNINGS=ON ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N .. | ||
run: mkdir -p build && cd build && source ~/.bashrc && cmake -GNinja -DOQS_STRICT_WARNINGS=ON ${{ matrix.CMAKE_ARGS }} ${{ matrix.libjade-build }} .. && cmake -LA -N .. | ||
- name: Build | ||
run: ninja | ||
working-directory: build | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.