Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(backport): Update talk list and release checklist #2211

Merged
merged 2 commits into from
May 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
36 changes: 26 additions & 10 deletions .github/ISSUE_TEMPLATE/~release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,40 @@ about: Checklist for core developers to complete as part of making a release
* [ ] Migrate any unresolved Issues or PRs from the [release GitHub project board](https://github.com/scikit-hep/pyhf/projects/) to a new project board.
* [ ] Verify that there is a release notes file for the release under [``docs/release-notes``](https://github.com/scikit-hep/pyhf/tree/main/docs/release-notes).
* [ ] Verify that the release notes files correctly summarize all development changes since the last release.
* [ ] Draft email to [``pyhf-announcements`` mailing list](https://groups.google.com/group/pyhf-announcements/subscribe) that summarizes the main points of the release notes and circulate it for development team approval.
* [ ] Update the checklist Issue template in the [``.github/ISSUE_TEMPLATE``](https://github.com/scikit-hep/pyhf/tree/main/.github/ISSUE_TEMPLATE) directory if there are revisions.
* [ ] Make a release to [TestPyPI][TestPyPI_pyhf] using the [workflow dispatch event trigger](https://github.com/scikit-hep/pyhf/actions/workflows/publish-package.yml).
* [ ] Verify that the project README is displaying correctly on [TestPyPI][TestPyPI_pyhf].
* [ ] Add any new use citations or published statistical models to the [Use and Citations page][citations_page].
* [ ] Verify that the citations on the [Use and Citations page][citations_page] are up to date with their current [INSPIRE](https://inspirehep.net/) record.
* [ ] Update the [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) GitHub Action used for deployment to TestPyPI and PyPI to the latest stable release.
* [ ] Verify that the citations on the [Use and Citations page][citations_page] are up to date with their current [INSPIRE](https://inspirehep.net/) record. Checking the [Dimensions listing of publication citations](https://app.dimensions.ai/discover/publication?or_subset_publication_citations=pub.1135154020) 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](https://github.com/pypa/gh-action-pypi-publish) GitHub Action used for deployment to TestPyPI and PyPI to the latest stable release.
* [ ] Make a release to [TestPyPI][TestPyPI_pyhf] using the [workflow dispatch event trigger](https://github.com/scikit-hep/pyhf/actions/workflows/publish-package.yml).
* [ ] Verify that the project README is displaying correctly on [TestPyPI][TestPyPI_pyhf].
* [ ] Draft email to [``pyhf-announcements`` mailing list](https://groups.google.com/group/pyhf-announcements/subscribe) that summarizes the main points of the release notes and circulate it for development team approval.

[TestPyPI_pyhf]: https://test.pypi.org/project/pyhf/
[citations_page]: https://scikit-hep.org/pyhf/citations.html

## Once Release PR is Merged
## Create Release Tag

* [ ] Watch the CI to ensure that the deployment to [PyPI](https://pypi.org/project/pyhf/) is successful.
* [ ] Create a [GitHub release](https://github.com/scikit-hep/pyhf/releases) from the generated PR tag and copy the release notes published to the GitHub release page. The creation of the GitHub release triggers all other release related activities.
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.
* [ ] 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.
- [ ] [Docker Hub](https://hub.docker.com/r/pyhf/pyhf/tags)
- [ ] [OSG Harbor](https://hub.opensciencegrid.org/harbor/projects/866/repositories/pyhf/)
- [ ] [CERN Harbor](https://registry.cern.ch/harbor/projects/3550/repositories/pyhf/artifacts-tab)
* [ ] 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.
Expand All @@ -44,6 +61,5 @@ about: Checklist for core developers to complete as part of making a release
* [ ] Update the [tutorial](https://github.com/pyhf/pyhf-tutorial) to use the new release number and API.
* [ ] Make a PR to use the new release in the [CUDA enabled Docker images](https://github.com/pyhf/cuda-images).
* [ ] Open a ticket on the CERN [Software Process and Infrastructure JIRA](https://sft.its.cern.ch/jira/browse/SPI) to update the version of `pyhf` available in the next LCG release.
- c.f. the [`v0.6.3` request ticket](https://sft.its.cern.ch/jira/browse/SPI-2086) as an example.
* [ ] If the release is a **major** or **minor** release, open a [GitHub Release Radar](https://github.com/github/release-radar) Issue for the release to potentially get featured on GitHub's [Release Radar blog](https://github.blog/?s=release+radar).
- c.f. the [`v0.6.3` request ticket](https://sft.its.cern.ch/jira/browse/SPI-2086) and the [`v0.7.1` request ticket](https://sft.its.cern.ch/jira/browse/SPI-2333) as examples.
* [ ] Close the [release GitHub Project board](https://github.com/scikit-hep/pyhf/projects/).
94 changes: 93 additions & 1 deletion docs/bib/talks.bib
Original file line number Diff line number Diff line change
@@ -1,6 +1,98 @@
% NB: entries with same author-title-year are not picked up:
% https://github.com/mcmtroffaes/sphinxcontrib-bibtex/issues/117

@unpublished{Feickert_20230412,
title = {{pyhf: pure-Python implementation of HistFactory with tensors and automatic differentiation}},
author = {Matthew Feickert},
year = {2023},
month = {Apr},
day = {12},
note = {(Internal) CMS Common Analysis Tools General Meeting (April 2023)},
url = {https://indico.cern.ch/event/1264029/contributions/5308065/},
}

@unpublished{Feickert_20230303,
title = {{How to contribute to pyhf development}},
author = {Matthew Feickert},
year = {2023},
month = {Mar},
day = {3},
note = {Belle II pyhf workshop 2023},
url = {https://indico.belle2.org/event/8470/contributions/55871/},
}

@unpublished{Feickert_20220906,
title = {{pyhf and analysis optimization with automatic differentiation}},
author = {Matthew Feickert},
year = {2022},
month = {Sep},
day = {6},
note = {(Internal) ATLAS HDBS Workshop 2022},
url = {https://indico.cern.ch/event/1132691/contributions/4994710/},
}

@unpublished{Feickert_20220708,
title = {{pyhf: pure-Python statistical fitting library with tensors and automatic differentiation}},
author = {Matthew Feickert},
year = {2022},
month = {Jul},
day = {8},
note = {International Conference on High Energy Physics (ICHEP) 2022},
url = {https://agenda.infn.it/event/28874/contributions/169217/},
}

@unpublished{Feickert_20220425,
title = {{Statistical inference: pyhf and cabinetry}},
author = {Matthew Feickert},
year = {2022},
month = {Apr},
day = {25},
note = {IRIS-HEP Analysis Grand Challenge Tools 2022 Workshop},
url = {https://indico.cern.ch/event/1126109/contributions/4780155/},
}

@unpublished{Feickert_20211201,
title = {{pyhf: pure-Python implementation of HistFactory with tensors and automatic differentiation}},
author = {Matthew Feickert},
year = {2021},
month = {Dec},
day = {1},
note = {CMS Analysis Tools Task Force},
url = {https://indico.cern.ch/event/1100873/contributions/4631656/},
}

@unpublished{Feickert_20210715,
title = {{Distributed statistical inference with pyhf powered by funcX}},
author = {Matthew Feickert},
year = {2021},
month = {Jul},
day = {15},
note = {20th Python in Science Conference (SciPy 2021)},
doi = {10.25080/majora-1b6fd038-023},
url = {https://conference.scipy.org/proceedings/scipy2021/slides.html},
}

@unpublished{Feickert_20210706,
title = {{Distributed statistical inference with pyhf}},
author = {Matthew Feickert},
year = {2021},
month = {Jul},
day = {6},
note = {PyHEP 2021 (virtual) Workshop},
doi = {10.5281/zenodo.5136819},
url = {https://indico.cern.ch/event/1019958/contributions/4418598/},
}

@unpublished{Feickert_20210520,
title = {{Distributed statistical inference with pyhf enabled through funcX}},
author = {Matthew Feickert},
year = {2021},
month = {May},
day = {20},
note = {vCHEP 2021 Conference},
url = {https://indico.cern.ch/event/948465/contributions/4324013/},
}

@unpublished{Feickert_20201103,
title = {{pyhf: pure-Python implementation of HistFactory with tensors and automatic differentiation}},
author = {Matthew Feickert},
Expand Down Expand Up @@ -53,7 +145,7 @@ @unpublished{Heinrich20191030
day = {30},
note = {1st Pan-European Advanced School on Statistics in High Energy Physics},
organization = {DESY},
url = {https://indico.desy.de/indico/event/22731/session/4/contribution/19},
url = {https://indico.desy.de/event/22731/contributions/47953/},
}

@unpublished{Stark20191023,
Expand Down
11 changes: 11 additions & 0 deletions docs/bib/tutorials.bib
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
% NB: entries with same author-title-year are not picked up:
% https://github.com/mcmtroffaes/sphinxcontrib-bibtex/issues/117

@unpublished{Feickert_20210407,
title = {{Tutorial on pyhf}},
author = {Matthew Feickert},
year = {2021},
month = {Apr},
day = {7},
note = {PyHEP Python Module of the Month (April 2021)},
doi = {10.5281/zenodo.4670322},
url = {https://indico.cern.ch/event/985425/},
}

@unpublished{GStark20200925,
title = {{ATLAS Exotics + SUSY Workshop 2020 pyhf Tutorial}},
author = {Giordon Stark},
Expand Down
1 change: 1 addition & 0 deletions docs/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ The maintainer needs to:
* Select the semantic versioning (SemVer) type (major, minor, patch) of the release tag.
* Select if the release tag is a release candidate or not.
* Input the SemVer version number of the release tag.
* Select the branch to push the new release tag to.
* Select if to override the SemVer compatibility of the previous options (default
is to run checks).
* Select if a dry run should be performed (default is to do a dry run to avoid accidental
Expand Down