Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
de9d775
ci: Add script to compute the next release version
matthewfeickert Aug 11, 2026
07542e1
ci: Add Prepare release GitHub Actions workflow
matthewfeickert Aug 11, 2026
ca52ae0
ci: Add Tag release GitHub Actions workflow
matthewfeickert Aug 11, 2026
68f9450
ci: Remove bump version GitHub Actions workflow
matthewfeickert Aug 11, 2026
b93ebf2
ci: Simplify publish distributions workflow
matthewfeickert Aug 11, 2026
0e474f9
docs: Update release process docs for the release workflows
matthewfeickert Aug 11, 2026
2b3a246
ci: Defer tomllib import in next version script
matthewfeickert Aug 11, 2026
a7eed66
ci: Use GitHub CLI for release preparation pull requests
matthewfeickert Aug 11, 2026
9eda3f9
docs: Describe entering the release version to prepare a release
matthewfeickert Aug 11, 2026
f315bbe
ci: Validate release version with standalone script
matthewfeickert Aug 11, 2026
585bfee
docs: Document release branch creation
matthewfeickert Aug 11, 2026
3c08a9d
ci: Use simple release tag annotation
matthewfeickert Aug 11, 2026
90a731e
docs: Remove release tag changelog references
matthewfeickert Aug 11, 2026
d4536e9
ci: Validate release version format and tag uniqueness
matthewfeickert Aug 11, 2026
29c8c05
ci: Force push release preparation branch
matthewfeickert Aug 11, 2026
7021556
ci: Scope build warnings check to scheduled builds
matthewfeickert Aug 11, 2026
a019160
ci: Publish to TestPyPI and PyPI with a single job
matthewfeickert Aug 11, 2026
10ad2b2
ci: Restrict release preparation to release branches
matthewfeickert Aug 11, 2026
59f53f2
docs: Use a version more obviously SemVer
matthewfeickert Aug 11, 2026
8a980fc
remove emjoi from name
matthewfeickert Aug 12, 2026
b4b6a6d
ci: Separate TestPyPI and PyPI publish steps
matthewfeickert Aug 12, 2026
4f81f7d
ci: Require canonical release versions
matthewfeickert Aug 12, 2026
218b3a5
ci: Validate release versions with the tbump.toml version regex
matthewfeickert Aug 12, 2026
d1fb515
ci: Update open release preparation pull request on rerun
matthewfeickert Aug 12, 2026
f0a8702
ci: Restrict release tagging to release branches
matthewfeickert Aug 12, 2026
c2b6ba0
ci: Separate publish workflow concurrency by event
matthewfeickert Aug 12, 2026
89cc6b7
docs: Document release environment setup and abandoned releases
matthewfeickert Aug 12, 2026
809ebca
twitter is dead
matthewfeickert Aug 12, 2026
5df0e33
docs: Fix capitalization of 'conda-forge'
matthewfeickert Aug 12, 2026
8ab13b3
ci: Run release preparation tooling with uv
matthewfeickert Aug 12, 2026
394fe17
ci: Exempt tagged commits from the dev version guard
matthewfeickert Aug 12, 2026
d0784c8
Use 1.2.3 as more clear SemVer
matthewfeickert Aug 12, 2026
0a2153a
ci: Install uv with astral-sh/setup-uv
matthewfeickert Aug 12, 2026
c3893f4
revert name change
matthewfeickert Aug 12, 2026
a333169
quote for clarity
matthewfeickert Aug 12, 2026
b042b45
Clarify events
matthewfeickert Aug 12, 2026
9f6d243
Revivse phrasing in development parge
matthewfeickert Aug 12, 2026
517ef31
Revise terminology
matthewfeickert Aug 12, 2026
8cdb64b
Explain artifact name is 'Packages'
matthewfeickert Aug 12, 2026
eed7b7a
ci: Pin pypa/gh-action-pypi-publish action to commit SHA
matthewfeickert Aug 12, 2026
d78f860
ci: Serialize release preparation runs by version
matthewfeickert Aug 12, 2026
7c14f53
fix: Apply zizmor fixes
matthewfeickert Aug 13, 2026
e6b1ad4
chore: Move validation script to 'ci/' directory
matthewfeickert Aug 13, 2026
b266130
ci: Pin actions/checkout action to commit SHA
matthewfeickert Aug 14, 2026
1988c54
ci: Restore checkout credential persistence for release pushes
matthewfeickert Aug 14, 2026
8df459b
ci: Include base branch in release preparation branch name
matthewfeickert Aug 14, 2026
43de485
ci: Gate release preparation with the release-prepare environment
matthewfeickert Aug 14, 2026
93d5ae3
docs: Document release environment secret scoping
matthewfeickert Aug 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions .github/ISSUE_TEMPLATE/~release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,17 @@ about: Checklist for core developers to complete as part of making a release

## Create Release Tag

For a video walkthrough consult the [``pyhf`` ``v0.7.1`` release recording](https://youtu.be/ZV20tr3EpTw) on YouTube.

* [ ] Use the [bump version](https://github.com/scikit-hep/pyhf/actions/workflows/bump-version.yml) GitHub Actions workflow perform a [dry run](https://scikit-hep.org/pyhf/development.html#release-tags) of the bump version to the new release tag.
* [ ] Check the annotated tag in the dry run workflow logs to make sure it looks correct.
* [ ] If the dry run passes as expected, run the same workflow with the dry run option set to ``false`` to bump the release tag version and push the new tag back to GitHub.
* [ ] Run the [Prepare release](https://github.com/scikit-hep/pyhf/actions/workflows/release-prepare.yml) GitHub Actions workflow on the release branch, entering the version of the new release.
* [ ] Review the release preparation pull request the workflow opens: verify the new version and the diff of the bumped files, and wait for CI to pass.
* [ ] Merge the release preparation pull request.
* [ ] Run the [Tag release](https://github.com/scikit-hep/pyhf/actions/workflows/release-tag.yml) GitHub Actions workflow on the release branch and approve the `release-tag` environment deployment.
* [ ] Verify the release tag was pushed to the correct branch.
* [ ] Verify the release tag commit has bumped the correct versions.
* [ ] Watch the CI to verify all tag based jobs finish correctly.
* [ ] Verify the release for the tag on [TestPyPI][TestPyPI_pyhf] looks correct.

## After Release Tag Pushed To GitHub

* [ ] Create a [GitHub release](https://github.com/scikit-hep/pyhf/releases) from the new release tag and copy the release notes published to the GitHub release page. The creation of the GitHub release triggers all other release related activities.
- [ ] Before pasting in the release notes copy the changes that the GitHub bot has already queued up and pasted into the tag and place them in the "Changes" section of the release notes. If the release notes are published before these are copied then they will be overwritten and you'll have to add them back in by hand.
- [ ] Create a corresponding [announcement GitHub Discussion](https://github.com/scikit-hep/pyhf/discussions/categories/announcements) for the release.
* [ ] Watch the CI to ensure that the deployment to [PyPI](https://pypi.org/project/pyhf/) is successful.
* [ ] Verify Docker images with the correct tags have been deployed to all container image registries.
Expand All @@ -46,15 +43,15 @@ For a video walkthrough consult the [``pyhf`` ``v0.7.1`` release recording](http
* [ ] Verify there is a new [Zenodo DOI](https://doi.org/10.5281/zenodo.1169739) minted for the release.
- [ ] Verify that the new release archive metadata on Zenodo matches is being picked up as expected from [`CITATION.cff`](https://github.com/scikit-hep/pyhf/blob/main/CITATION.cff).
* [ ] Verify that a Binder has properly built for the new release.
* [ ] Watch for a GitHub notification that there is an automatic PR to the [Conda-forge feedstock](https://github.com/conda-forge/pyhf-feedstock). This may take multiple hours to happen. If there are any changes needed to the Conda-forge release make them **from a personal account** and not from an organization account to have workflows properly trigger.
- [ ] Verify the requirements in the [Conda-forge feedstock](https://github.com/conda-forge/pyhf-feedstock) recipe `meta.yaml` match those in `pyproject.toml`.
* [ ] Watch for a GitHub notification that there is an automatic PR to the [conda-forge feedstock](https://github.com/conda-forge/pyhf-feedstock). This may take multiple hours to happen. If there are any changes needed to the conda-forge release make them **from a personal account** and not from an organization account to have workflows properly trigger.
- [ ] Verify the requirements in the [conda-forge feedstock](https://github.com/conda-forge/pyhf-feedstock) recipe `meta.yaml` match those in `pyproject.toml`.

## After Release

* [ ] Verify that the release is installable from both [PyPI](https://pypi.org/project/pyhf/) and [Conda-forge](https://github.com/conda-forge/pyhf-feedstock).
* [ ] Verify that the release is installable from both [PyPI](https://pypi.org/project/pyhf/) and [conda-forge](https://github.com/conda-forge/pyhf-feedstock).
* [ ] Send the drafted [``pyhf-announcements``](https://groups.google.com/group/pyhf-announcements/) email out from the ``pyhf-announcements`` account email.
* [ ] Tweet the release out on both personal and team Twitter accounts.
* [ ] Forward port the release notes and bumpversion information from the release branch to the default branch.
* [ ] Share the release on both personal and team social media accounts.
* [ ] Forward port the release notes and the `tbump.toml` version information from the release branch to the default branch.
- c.f. PR https://github.com/scikit-hep/pyhf/pull/2217 and PR https://github.com/scikit-hep/pyhf/pull/2218 as examples from `pyhf` `v0.7.2`.
* [ ] Announce the release on the [Scikit-HEP community Gitter](https://gitter.im/Scikit-HEP/community).
* [ ] Make a release for the [`pyhf` tutorial](https://github.com/pyhf/pyhf-tutorial/releases) corresponding to the **previous release** number. This release represents the last version of the tutorial that is guaranteed to work with previous release API.
Expand Down
288 changes: 0 additions & 288 deletions .github/workflows/bump-version.yml

This file was deleted.

Loading
Loading