Reusable workflows that reduce maintenance effort.
I use tox to manage testing in my Python projects, and I use GitHub workflows to set up and execute tox.
This repo allows me to centralize most of my CI workflows so I only need to define a testing/configuration matrix in my other projects.
The tox.yaml
workflow captures best practices I found over the years
that optimize test suite execution, including tools, plugins, and caching.
It has the following features:
- Configurable runners
- Multiple CPython/PyPy interpreter versions per runner
- Selectable tox environments
- Schema validation of the inputs passed to the workflow
- Fast tox environment creation using the
tox-uv
plugin - Built-in caching of tox and virtual environments with strong cache-busting
For information about how to configure the tox.yaml
workflow,
please see the tox workflow documentation in the docs/
directory.
The create-pr.yaml
workflow allows me to cut release PRs
and to automate regular update PRs as needed.
It has the following features:
- A
version
workflow input, suitable for cutting new releases - Settings for customizing branches, commits, and PRs
- Verified commits via the GitHub Actions bot account
- Schema validation of the inputs passed to the workflow
For information about how to configure the create-pr.yaml
workflow,
please see the create-pr workflow documentation in the docs/
directory.