Use baipp for matrix (#116)

* Use baipp for matrix

* Build ft

* Test latest pypy

* does this work?

* It doesn't

* Use baipp's python-version
This commit is contained in:
Hynek Schlawack 2026-03-26 13:41:38 -04:00 committed by GitHub
parent dc66c35ff7
commit 91424d1789
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -16,23 +16,49 @@ env:
permissions: {}
jobs:
build-package:
name: Build & verify package
runs-on: ubuntu-latest
env:
BUILD_PYTHON: "3.14"
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: recursive
persist-credentials: false
- uses: hynek/build-and-inspect-python-package@35116b25fb28e4b91149d761b2230d28ef49adc0 # v2.16.0
id: baipp
with:
include-free-threaded: 'true'
python-version: ${{ env.BUILD_PYTHON }}
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
cache: pip
python-version: ${{ env.BUILD_PYTHON }}
# Smoke-check the wheel against argon2-cffi.
- run: python -Im pip install $DIST/*.whl
env:
DIST: ${{ steps.baipp.outputs.dist }}
- run: python -Im pip install --no-deps git+https://github.com/hynek/argon2-cffi.git
- run: python -Im argon2 -n 1 -t 1 -m 8 -p 1
outputs:
# Used to define the matrix for tests below. The value is based on
# packaging metadata (trove classifiers).
python-versions: ${{ steps.baipp.outputs.supported_python_classifiers_json_array }}
tests:
name: Tests on ${{ matrix.python-version }}
needs: build-package
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.14t"
- "pypy-3.9"
- "pypy-3.10"
- "pypy-3.11"
# Created by the build-and-inspect-python-package action above.
python-version: ${{ fromJson(needs.build-package.outputs.python-versions) }}
env:
PYTHON: ${{ matrix.python-version }}
@ -49,6 +75,25 @@ jobs:
- run: python -Im pip install tox
- run: python -Im tox run -e $PYTHON
tests-pypy:
name: Tests against latest PyPy
runs-on: ubuntu-latest
env:
PYTHON: pypy3.11
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: recursive
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ env.PYTHON }}
allow-prereleases: true
cache: pip
- run: python -Im pip install tox
- run: python -Im tox run -e $PYTHON
system-package:
runs-on: ubuntu-latest
name: Install and test with system package of Argon2
@ -70,30 +115,6 @@ jobs:
- run: python -Im pip install tox
- run: python -Im tox run -e system-argon2
package:
name: Build & verify package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: recursive
persist-credentials: false
- uses: hynek/build-and-inspect-python-package@35116b25fb28e4b91149d761b2230d28ef49adc0 # v2.16.0
id: baipp
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
cache: pip
python-version: "3.x" # use the one that baipp used
# Smoke-check the wheel against argon2-cffi.
- run: python -Im pip install $DIST/*.whl
env:
DIST: ${{ steps.baipp.outputs.dist }}
- run: python -Im pip install --no-deps git+https://github.com/hynek/argon2-cffi.git
- run: python -Im argon2 -n 1 -t 1 -m 8 -p 1
install-dev:
name: Verify dev env
runs-on: ${{ matrix.os }}
@ -144,9 +165,10 @@ jobs:
if: always()
needs:
- build-package
- tests
- tests-pypy
- install-dev
- package
- system-package
- cog-check