Skip to content

👷 ci(release): add workflow_dispatch release with zipapp and get-virtualenv - #3040

Merged
gaborbernat merged 2 commits into
pypa:mainfrom
gaborbernat:release
Feb 16, 2026
Merged

👷 ci(release): add workflow_dispatch release with zipapp and get-virtualenv#3040
gaborbernat merged 2 commits into
pypa:mainfrom
gaborbernat:release

Conversation

@gaborbernat

Copy link
Copy Markdown
Contributor

Releasing virtualenv currently requires running tox -e release locally to generate the changelog and push a tag, which only triggers PyPI publishing. The zipapp build, GitHub Release creation, and updating get-virtualenv (which serves https://bootstrap.pypa.io/virtualenv.pyz) are all separate manual steps that are easy to forget or do inconsistently.

This replaces the tag-triggered release workflow with a workflow_dispatch one that accepts a version input and handles the entire pipeline: changelog generation via towncrier, commit and tag push to main, PyPI publish via trusted publishing, zipapp build via tox r -e zipapp, GitHub Release with the zipapp attached, and pushing the updated zipapp to pypa/get-virtualenv. The workflow requires a GH_RELEASE_TOKEN fine-grained PAT secret scoped to both virtualenv and get-virtualenv with contents read/write permission.

The local tox -e release path is preserved for cases where a maintainer prefers to drive the process manually. The development docs now document both paths end-to-end, including the previously undocumented zipapp and get-virtualenv update steps.

@gaborbernat
gaborbernat force-pushed the release branch 13 times, most recently from 83a3cb6 to 13aae03 Compare February 16, 2026 04:26
…ualenv

The tag-triggered release workflow only handled PyPI publishing, leaving
the zipapp build, GitHub Release creation, and get-virtualenv update as
manual steps.

Replace it with a workflow_dispatch workflow that accepts a version
input and handles the full release pipeline: changelog generation,
commit and tag, PyPI publish, zipapp build, GitHub Release, and
get-virtualenv update. Document both the GHA and local release paths
in the development docs.

Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant