Files
wolfssl/.github/workflows/rust-wrapper.yml
T
Tobias Frauenschläger c3289f8aa9 Enable and use ML-KEM by default
* Enable ML-KEM by default in build systems (autoconf and CMake)
* Only allow three to-be-standardized hybrid PQ/T combinations by
  default
* Use X25519MLKEM768 as the default KeyShare in the ClientHello (if user
  does not override that). When Curve25519 is disabled, then either
  WOLFSSL_SECP384R1MLKEM1024 or WOLFSSL_SECP256R1MLKEM768 is used as
  default depending on the ECC configuration
* Disable standalone ML-KEM in supported groups by default (enable with
  --enable-tls-mlkem-standalone)
* Disable extra OQS-based hybrid PQ/T curves by default and gate
  behind --enable-experimental (enable with --enable-extra-pqc-hybrids)
* Reorder the SupportedGroups extension to reflect the preferences
* Reorder the preferredGroup array to also reflect the same preferences
* Add async support for ML-KEM hybrids
2026-03-18 10:48:16 +01:00

77 lines
3.8 KiB
YAML

name: Build Rust Wrapper
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
build_wolfssl:
name: Build wolfSSL Rust Wrapper
if: github.repository_owner == 'wolfssl'
runs-on: ${{ matrix.os }}
# This should be a safe limit for the tests to run.
timeout-minutes: 10
steps:
- name: Build wolfSSL
uses: wolfSSL/actions-build-autotools-project@v1
with:
path: wolfssl
configure: ${{ matrix.config }}
- name: Build Rust Wrapper
working-directory: wolfssl
run: make -C wrapper/rust
- name: Run Rust Wrapper Tests
working-directory: wolfssl
run: make -C wrapper/rust test
strategy:
matrix:
os: [ ubuntu-24.04, ubuntu-24.04-arm ]
config: [
# Add new configs here
'',
'--enable-all',
'--enable-all --enable-dilithium',
'--enable-all --enable-mlkem',
'--enable-cryptonly --disable-examples',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aes --disable-aesgcm',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aescbc',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aeseax',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesecb',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesccm',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aescfb',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesctr',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aescts',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesgcm',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesgcm-stream',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesofb',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesxts',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-cmac',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-dh',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ecc',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed25519',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed25519-stream',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed448',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed448-stream',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-hkdf',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-hmac',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-rng',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-rsa',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-rsapss',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha224',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha3',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha384',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha512',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-shake128',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-shake256',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-srtp-kdf',
'--enable-cryptonly --disable-examples --disable-mlkem --disable-x963kdf',
]