mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-10-05 00:05:12 -04:00
* Skip failing CI test Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> * Fix typo Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> --------- Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
64 lines
2.7 KiB
YAML
64 lines
2.7 KiB
YAML
name: MacOS tests
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on: [workflow_call, workflow_dispatch]
|
|
|
|
jobs:
|
|
|
|
macos:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os:
|
|
# macos-13 runs on x64; the others run on aarch64
|
|
- macos-13
|
|
- macos-14
|
|
- macos-15
|
|
CMAKE_ARGS:
|
|
- -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON
|
|
- -DCMAKE_C_COMPILER=gcc-14
|
|
- -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="${{ vars.LIBJADE_ALG_LIST }}"
|
|
exclude:
|
|
# macos-14 and macos-15 run on aarch64, libjade targets x86
|
|
# Skip testing libjade on macos-14
|
|
- os: macos-14
|
|
libjade-build: -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD="${{ vars.LIBJADE_ALG_LIST }}"
|
|
- os: macos-15
|
|
libjade-build: -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD="${{ vars.LIBJADE_ALG_LIST }}"
|
|
# No point in testing stateful sigs with minimal libjade build
|
|
- libjade-build: -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD="${{ vars.LIBJADE_ALG_LIST }}"
|
|
CMAKE_ARGS: -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON
|
|
# Failing configuration on Github actions; see https://github.com/open-quantum-safe/liboqs/pull/2148
|
|
- os: macos-15
|
|
CMAKE_ARGS: -DCMAKE_C_COMPILER=gcc-14
|
|
libjade-build: -DOQS_LIBJADE_BUILD=OFF
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Install Python
|
|
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- name: Checkout code
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
|
|
- name: Install dependencies
|
|
run: env HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja && pip3 install --require-hashes --break-system-packages -r .github/workflows/requirements.txt
|
|
- 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 }} ${{ matrix.libjade-build }} .. && cmake -LA -N ..
|
|
- name: Build
|
|
run: ninja
|
|
working-directory: build
|
|
- name: Run tests
|
|
run: mkdir -p tmp && python3 -m pytest --verbose --ignore=tests/test_code_conventions.py --ignore=tests/test_kat_all.py
|
|
timeout-minutes: 60
|