Skip to content

Commit

Permalink
fixup! Run android, ios, windows, and zephyr tests on PR
Browse files Browse the repository at this point in the history
Signed-off-by: Spencer Wilson <[email protected]>
  • Loading branch information
SWilson4 committed Aug 27, 2024
1 parent 6520a4c commit 02d1dd1
Show file tree
Hide file tree
Showing 4 changed files with 151 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: android build

permissions:
contents: read

on: workflow_call

jobs:

android:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
abi: [armeabi-v7a, arm64-v8a, x86, x86_64]
stfl_opt: [ON, OFF]

steps:
- name: Checkout code
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # pin@v3
- name: Build project
run: ./scripts/build-android.sh $ANDROID_NDK_HOME -a ${{ matrix.abi }} -f "-DOQS_ENABLE_SIG_STFL_LMS=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=${{ matrix.stfl_opt }}"
25 changes: 25 additions & 0 deletions .github/workflows/apple.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: apple build

permissions:
contents: read

on: workflow_call

jobs:

apple-mobile:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
platform: [OS64, TVOS]
stfl_opt: [OFF, ON]
steps:
- name: Checkout code
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # pin@v3
- name: Generate project
run: |
cmake -B build --toolchain .CMake/apple.cmake -DOQS_USE_OPENSSL=OFF -DPLATFORM=${{ matrix.platform }} \
-DOQS_ENABLE_SIG_STFL_LMS=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=${{ matrix.stfl_opt }} .
- name: Build project
run: cmake --build build
43 changes: 43 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Windows tests

permissions:
contents: read

on: workflow_call

jobs:

windows-arm64:
runs-on: windows-2022
strategy:
matrix:
stfl_opt: [ON, OFF]
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # pin@v3
- name: Generate Project
run: cmake -B build --toolchain .CMake/toolchain_windows_arm64.cmake -DOQS_ENABLE_SIG_STFL_LMS=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=${{ matrix.stfl_opt }} .
- name: Build Project
run: cmake --build build

windows-x86:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
toolchain: [.CMake/toolchain_windows_x86.cmake, .CMake/toolchain_windows_amd64.cmake]
stfl_opt: [ON, OFF]
steps:
- name: Install Python
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5
with:
python-version: '3.12'
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # pin@v3
- name: Generate Project
run: cmake -B build --toolchain ${{ matrix.toolchain }} -DOQS_ENABLE_SIG_STFL_LMS=ON -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=${{ matrix.stfl_opt }} .
- name: Build Project
run: cmake --build build
- name: Test dependencies
run: pip.exe install --require-hashes -r .github\workflows\requirements.txt
- name: Run tests
run: |
python -m pytest --numprocesses=auto -vv --maxfail=10 --ignore=tests/test_code_conventions.py --ignore=tests/test_kat_all.py --junitxml=build\test-results\pytest\test-results.xml
61 changes: 61 additions & 0 deletions .github/workflows/zephyr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Zephyr tests

permissions:
contents: read

on: workflow_call

jobs:

zephyr_test:
runs-on: ubuntu-22.04
container: ghcr.io/zephyrproject-rtos/ci:latest
env:
CMAKE_PREFIX_PATH: /opt/toolchains
strategy:
fail-fast: false
matrix:
config:
- zephyr-ref: v3.4.0
- zephyr-ref: v3.5.0

steps:
- name: Init Zephyr workspace
run: |
mkdir zephyr && cd zephyr
mkdir manifest && cd manifest
echo "manifest:" > west.yml
echo " remotes:" >> west.yml
echo " - name: zephyr" >> west.yml
echo " url-base: https://github.com/zephyrproject-rtos" >> west.yml
echo " - name: liboqs" >> west.yml
echo " url-base: https://github.com/${{ github.repository_owner }}" >> west.yml
echo " projects:" >> west.yml
echo " - name: zephyr" >> west.yml
echo " remote: zephyr" >> west.yml
echo " repo-path: zephyr" >> west.yml
echo " revision: ${{ matrix.config.zephyr-ref }}" >> west.yml
echo " import:" >> west.yml
echo " name-allowlist:" >> west.yml
echo " - picolibc" >> west.yml
echo " - name: liboqs" >> west.yml
echo " remote: liboqs" >> west.yml
echo " revision: $(echo '${{ github.ref }}' | sed -e 's/refs\/heads\///')" >> west.yml
echo " path: modules/crypto/liboqs" >> west.yml
west init -l --mf west.yml .
- name: Update west workspace
working-directory: zephyr
run: |
west update -n -o=--depth=1
west zephyr-export
- name: Run Signature test
working-directory: zephyr
run: |
west twister --integration -T modules/crypto/liboqs/zephyr -s samples/Signatures/sample.crypto.liboqs_signature_example -vvv
- name: Run KEM test
working-directory: zephyr
run: |
west twister --integration -T modules/crypto/liboqs/zephyr -s samples/KEMs/sample.crypto.liboqs_kem_example -vvv

0 comments on commit 02d1dd1

Please sign in to comment.