Skip to content

Commit

Permalink
GitHub runner updates (#2069)
Browse files Browse the repository at this point in the history
* Add macos-15 runner; update gcc version [skip ci]

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

* Don't run libjade on macos-15; remove gcc 13 patch

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

* Add windows-2025 runner [skip ci]

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

* Refactor matrix [skip ci]

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

* Update actionlint config

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

* Update PLATFORMS.md [skip ci]

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

* Specify gcc-14

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
  • Loading branch information
SWilson4 authored Feb 10, 2025
1 parent b80240c commit 0a23450
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 19 deletions.
11 changes: 2 additions & 9 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
# Labels of self-hosted runner in array of strings.

# NB. ubuntu-24.04-arm is not self-hosted but this configuration
# is required for liboqs to lint correctly with actionlint v1.7.1

self-hosted-runner:
# Labels of self-hosted runner in array of string
labels:
- ubuntu-24.04-arm
# Configuration variables in array of strings defined in your repository or organization
# From https://github.com/rhysd/actionlint/blob/v1.7.7/docs/config.md:
# "When an array is set, actionlint will check vars properties strictly. An empty array means no variable is allowed."
config-variables:
# - DEFAULT_RUNNER
# - JOB_NAME
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ jobs:
fail-fast: false
matrix:
os:
# macos-14 runs on aarch64; the others run on x64
# 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-13
- -DCMAKE_C_COMPILER=gcc-14
- -DOQS_USE_OPENSSL=OFF
- -DBUILD_SHARED_LIBS=ON -DOQS_DIST_BUILD=OFF
libjade-build:
Expand All @@ -26,10 +27,12 @@ jobs:
# libjade to minimise repeated tests
- -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD="${{ vars.LIBJADE_ALG_LIST }}"
exclude:
# macos-14 runs on aarch64, libjade targets x86
# 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
Expand All @@ -43,8 +46,6 @@ jobs:
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: Patch GCC
run: env HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --ignore-dependencies gcc@13 && wget https://raw.githubusercontent.com/Homebrew/homebrew-core/eb6dd225d093b66054e18e07d56509cf670793b1/Formula/g/gcc%4013.rb && env HOMEBREW_NO_AUTO_UPDATE=1 brew install --ignore-dependencies --formula gcc@13.rb
- name: Get system information
run: sysctl -a | grep machdep.cpu
- name: Configure
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ on: [workflow_call, workflow_dispatch]
jobs:

windows-arm64:
runs-on: windows-2022
strategy:
matrix:
runner: [windows-2022, windows-2025]
stfl_opt: [ON, OFF]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # pin@v3
- name: Generate Project
Expand All @@ -20,12 +21,13 @@ jobs:
run: cmake --build build

windows-x86:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
runner: [windows-2022, windows-2025]
toolchain: [.CMake/toolchain_windows_x86.cmake, .CMake/toolchain_windows_amd64.cmake]
stfl_opt: [ON, OFF]
runs-on: ${{ matrix.runner }}
steps:
- name: Install Python
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5
Expand Down
6 changes: 3 additions & 3 deletions PLATFORMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,14 @@ In this policy, the words "must" and "must not" specify absolute requirements th
### Tier 1

- x86_64/amd64/x64 for Ubuntu Linux (Noble)†
- x86_64/amd64/x64 for MacOS (XCode 14 and 15)
- x86_64/amd64/x64 for MacOS (XCode 15)
- aarch64 for Ubuntu (Noble)
- aarch64 for MacOS (XCode 15)
- aarch64 for MacOS (XCode 15 and 16)
- armhf/ARM7 and aarch64 emulation on Ubuntu

### Tier 2

- x86_64/amd64/x64 for Windows (Visual Studio Toolchain) 2022
- x86_64/amd64/x64 for Windows (Visual Studio Toolchain) 2022 and 2025
- 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
Expand Down

0 comments on commit 0a23450

Please sign in to comment.