Open
Description
Release Checklist
Before Release
- Update the checklist Issue template in the
.github/ISSUE_TEMPLATE
directory if there are revisions. - Migrate any unresolved Issues or PRs from the release GitHub project board to a new project board.
- Verify that there is a release notes file for the release under
docs/release-notes
. - Verify that the release notes files correctly summarize all development changes since the last release.
- Add any new use citations or published statistical models to the Use and Citations page.
- Verify that the citations on the Use and Citations page are up to date with their current INSPIRE record. Checking the Dimensions listing of publication citations can be helpful to catch citations that are now journal publications.
- Update the
codemeta.json
file in the release PR if its requirements have updated. - Update the pypa/gh-action-pypi-publish GitHub Action used for deployment to TestPyPI and PyPI to the latest stable release.
- Make a release to TestPyPI using the workflow dispatch event trigger.
- Verify that the project README is displaying correctly on TestPyPI.
- Draft email to
pyhf-announcements
mailing list that summarizes the main points of the release notes and circulate it for development team approval.
Create Release Tag
For a video walkthrough consult the pyhf
v0.7.1
release recording on YouTube.
- Use the bump version GitHub Actions workflow perform a dry run 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. - 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 looks correct.
After Release Tag Pushed To GitHub
- Create a GitHub release 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 for the release.
- Watch the CI to ensure that the deployment to PyPI is successful.
- Verify Docker images with the correct tags have been deployed to all container image registries.
- Verify there is a new Zenodo DOI minted for the release.
- Verify that the new release archive metadata on Zenodo matches is being picked up as expected from
CITATION.cff
.
- Verify that the new release archive metadata on Zenodo matches is being picked up as expected from
- 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. 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 recipe
meta.yaml
match those inpyproject.toml
. - c.f. pyhf v0.7.6 conda-forge/pyhf-feedstock#24
- Verify the requirements in the Conda-forge feedstock recipe
After Release
- Verify that the release is installable from both PyPI and Conda-forge.
- Send the drafted
pyhf-announcements
email out from thepyhf-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.
- c.f. PR docs: Bump version: 0.7.1 → 0.7.2 #2217 and PR docs: Add v0.7.2 release notes #2218 as examples from
pyhf
v0.7.2
.
- c.f. PR docs: Bump version: 0.7.1 → 0.7.2 #2217 and PR docs: Add v0.7.2 release notes #2218 as examples from
- Announce the release on the Scikit-HEP community Gitter.
- Make a release for the
pyhf
tutorial corresponding to the previous release number. This release represents the last version of the tutorial that is guaranteed to work with previous release API. - Update the tutorial to use the new release number and API.
- Make a PR to use the new release in the CUDA enabled Docker images.
- Open a ticket on the CERN Software Process and Infrastructure JIRA to update the version of
pyhf
available in the next LCG release.- c.f. the
v0.7.3
request ticket as an example. - c.f. https://sft.its.cern.ch/jira/browse/SPI-2486
- c.f. the
- Make a MR to use the new release in ATLAS
StatAnalysis
. - Close the release GitHub Project board.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status