MQT Reusable Workflows 1.4.0 Release
👀 What Changed
This release refactors the way tests on Python are distributed and run. Instead of running separate sessions for each Python version, this PR changes the workflows to run all sessions in a single workflow run per operating system.
This should allow for maximum caching reuse across builds and reduce the number of CI runners that need to be waited for.
It also reduces the number of macOS runners requested per CI run, which is now fixed to 2 for the python tests regardless of the number of supported Python versions.
While, previously, only the ubuntu-latest
runner would run tests on all Python versions, this PR changes the workflows so that also macOS and Windows runners test all the versions.
This should not cause a noticable runtime increase given the excessive caching opportunities, both via ccache
and uv
.
Important
This change will require consuming workflows to adapt their configuration!
The skip-testing-latest-python
workflow input has been removed and the Python versions being tested are solely defined by the nox sessions configuration.
Consequently, if a package should not be tested under Python 3.13 yet for example, "3.13"
should be removed from the PYTHON_ALL_VERSIONS
array in the noxfile.py
.
In addition, this release switches to the official setup-uv
action and employs uv
in a couple more places (see #31 for further details).
🚀 Features and Enhancements
- ♻️ unify Python testing @burgholzer (#32)
- ⚡ use official
setup-uv
action and more ofuv
@burgholzer (#31) - 🚸 no longer need to explicitly provide
GITHUB_TOKEN
tosetup-z3
@burgholzer (#30)
🤖 CI
- ♻️ unify Python testing @burgholzer (#32)
- ⚡ use official
setup-uv
action and more ofuv
@burgholzer (#31)
⬆️ Dependencies
7 changes
- Bump pypa/cibuildwheel from 2.20 to 2.21 in the github-actions group @dependabot (#33)
- ♻️ unify Python testing @burgholzer (#32)
- ⚡ use official
setup-uv
action and more ofuv
@burgholzer (#31) - 🚸 no longer need to explicitly provide
GITHUB_TOKEN
tosetup-z3
@burgholzer (#30) - Bump peter-evans/create-pull-request from 6 to 7 in the github-actions group @dependabot (#29)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#28)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#27)
Full Changelog: v1.3.2...v1.4.0