pyhf
pyhf copied to clipboard
Release v0.7.4 checklist
Release Checklist
Before Release
- [x] Update the checklist Issue template in the
.github/ISSUE_TEMPLATEdirectory if there are revisions. - [x] Migrate any unresolved Issues or PRs from the release GitHub project board to a new project board.
- c.f. https://github.com/orgs/scikit-hep/projects/13
- [x] Verify that there is a release notes file for the release under
docs/release-notes.- c.f. https://github.com/scikit-hep/pyhf/pull/2322
- [x] Verify that the release notes files correctly summarize all development changes since the last release.
- [x] Add any new use citations or published statistical models to the Use and Citations page.
- c.f. https://github.com/scikit-hep/pyhf/pull/2324
- [x] 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.
- c.f. https://github.com/scikit-hep/pyhf/pull/2323
- [x] Update the
codemeta.jsonfile in the release PR if its requirements have updated. - [x] Update the pypa/gh-action-pypi-publish GitHub Action used for deployment to TestPyPI and PyPI to the latest stable release.
- [x] Make a release to TestPyPI using the workflow dispatch event trigger.
- c.f. https://test.pypi.org/project/pyhf/0.7.4.dev6/
- [x] Verify that the project README is displaying correctly on TestPyPI.
- [x] Draft email to
pyhf-announcementsmailing 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.
- [x] Use the bump version GitHub Actions workflow perform a dry run of the bump version to the new release tag.
- [x] Check the annotated tag in the dry run workflow logs to make sure it looks correct.
- [x] If the dry run passes as expected, run the same workflow with the dry run option set to
falseto bump the release tag version and push the new tag back to GitHub. - [x] Verify the release tag was pushed to the correct branch.
- [x] Verify the release tag commit has bumped the correct versions.
- [x] Watch the CI to verify all tag based jobs finish correctly.
- [x] Verify the release for the tag on TestPyPI looks correct.
- c.f. https://test.pypi.org/project/pyhf/0.7.4/
After Release Tag Pushed To GitHub
- [x] 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.
- [x] 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.
- [x] Create a corresponding announcement GitHub Discussion for the release.
- c.f. https://github.com/scikit-hep/pyhf/discussions/2326
- [x] Watch the CI to ensure that the deployment to PyPI is successful.
- c.f. https://pypi.org/project/pyhf/0.7.4/
- [x] Verify Docker images with the correct tags have been deployed to all container image registries.
- [x] Docker Hub
- [x] OSG Harbor (
crane cp docker.io/pyhf/pyhf:v0.7.4 hub.opensciencegrid.org/pyhf/pyhf:v0.7.4) - [x] CERN Harbor (
crane cp docker.io/pyhf/pyhf:v0.7.4 registry.cern.ch/pyhf/pyhf:v0.7.4)
- [x] Verify there is a new Zenodo DOI minted for the release.
- [x] Verify that the new release archive metadata on Zenodo matches is being picked up as expected from
CITATION.cff.
- [x] Verify that the new release archive metadata on Zenodo matches is being picked up as expected from
- [x] Verify that a Binder has properly built for the new release.
- [x] 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.
- [x] Verify the requirements in the Conda-forge feedstock recipe
meta.yamlmatch those inpyproject.toml. - c.f. https://github.com/conda-forge/pyhf-feedstock/pull/20
- [x] Verify the requirements in the Conda-forge feedstock recipe
After Release
- [x] Verify that the release is installable from both PyPI and Conda-forge.
- [x] Send the drafted
pyhf-announcementsemail out from thepyhf-announcementsaccount email.- c.f. https://groups.google.com/g/pyhf-announcements/c/jHv_5KkLnGA
- [x] Tweet the release out on both personal and team Twitter accounts.
- https://x.com/pyhf_/status/1702702124369379328?s=20
- [x] Forward port the release notes and bumpversion 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
pyhfv0.7.2. - https://github.com/scikit-hep/pyhf/pull/2330
- https://github.com/scikit-hep/pyhf/pull/2331
- c.f. PR https://github.com/scikit-hep/pyhf/pull/2217 and PR https://github.com/scikit-hep/pyhf/pull/2218 as examples from
- [ ] Announce the release on the Scikit-HEP community Gitter.
- [x] Make a release for the
pyhftutorial corresponding to the previous release number. This release represents the last version of the tutorial that is guaranteed to work with previous release API.- c.f. https://github.com/pyhf/pyhf-tutorial/releases/tag/v0.7.3
- [ ] 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.
- [x] Open a ticket on the CERN Software Process and Infrastructure JIRA to update the version of
pyhfavailable in the next LCG release.- c.f. the
v0.7.3request ticket as an example. - c.f. https://sft.its.cern.ch/jira/browse/SPI-2419
- c.f. the
- [x] Make a MR to use the new release in ATLAS
StatAnalysis. - [ ] Close the release GitHub Project board.
Issues with using environments for deployments to PyPI using v*
are coming from changes in GitHub's security covered in https://github.com/orgs/community/discussions/62991#discussioncomment-6718696
Issues with using environments for deployments to PyPI using
v*
This is resolved now as the environment protection rules now apply to branches and tags
cc @kratsg.
This was resolved on October 3rd, 2023:
- https://github.com/orgs/community/discussions/62991#discussioncomment-7233691
- October 6, 2024 GitHub Blog: Actions – Secure deployment rollouts to protected environments based on select tag patterns