Update STFL pipeline #331
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: | |
| PYOQS_ENABLE_FAULTHANDLER: "1" | |
| 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 |