Skip to content

Update STFL pipeline #328

Update STFL pipeline

Update STFL pipeline #328

name: GitHub actions simplified
on:
push:
branches: [ "**" ]
pull_request:
branches: [ "**" ]
repository_dispatch:
types: [ "**" ]
permissions:
contents: read
concurrency:
group: test-python-simplified-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
KEY_GEN_VERSION: 0
KEY_DIR: data/xmss_xmssmt_keys
jobs:
build:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"
- name: Set up Python 3.9
run: uv python install 3.9
# Restore the XMSS/XMSSMT key cache.
# Still allows the incomplete cache to be used to avoid regenerating keys.
# But if the complete cache is present, all keys are already generated and used.
- name: Restore XMSS/XMSSMT key cache
uses: actions/cache/restore@v4
with:
path: ${{ env.KEY_DIR }}
key: xmss-v${{ env.KEY_GEN_VERSION }}-complete
restore-keys: |
xmss-v${{ env.KEY_GEN_VERSION }}-progress-
xmss-v${{ env.KEY_GEN_VERSION }}-
enableCrossOsArchive: true
# Display the contents of the cache directory to verify what was restored.
- name: Show tree of cache directory
run: |
echo "Listing cache directory:"
ls -R data/xmss_xmssmt_keys
- name: Run examples
run: |
uv sync --extra dev
uv run examples/kem.py
uv run examples/sig.py
uv run examples/rand.py
uv run examples/stfl_sig.py
uv run oqs/serialize.py
- name: Run unit tests
run: |
# Ensure dev extras (nose2, pyasn1, etc.) are present
uv sync --extra dev
uv run nose2 --verbose