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).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the github-actions group with 1 update: cda-tum/mqt-workflows.
Updates
cda-tum/mqt-workflows
from 1.3 to 1.4Release notes
Sourced from cda-tum/mqt-workflows's releases.
... (truncated)
Commits
7bc94c4
Bump pypa/cibuildwheel from 2.20 to 2.21 in the github-actions group (#33)c256b51
♻️ unify Python testing (#32)0b6eabc
⚡ use officialsetup-uv
action and more ofuv
(#31)fdc30c7
🚸 no longer need to explicitly provideGITHUB_TOKEN
tosetup-z3
(#30)dba77f0
Bump peter-evans/create-pull-request from 6 to 7 in the github-actions group ...8dea125
⬆️🪝 update pre-commit hooks (#28)38b81a0
⬆️🪝 update pre-commit hooks (#27)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show