-
Notifications
You must be signed in to change notification settings - Fork 224
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
Improve the release checklist based on experience with v0.13.0 release #3374
Changes from all commits
c09cd24
30c081f
ad5fffd
13961dc
ea7c25d
4470f96
7316504
bbda6c2
fcfe59d
a403117
aff71d2
f506f65
12a2011
55f27eb
fcfd34a
a4af06e
be22c85
a996ec9
a6e3e98
d809f74
2d979e2
fed3fc9
0708027
a26795c
0274d4d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,49 +8,51 @@ assignees: '' | |
--- | ||
|
||
**Release**: [v0.x.x](https://github.com/GenericMappingTools/pygmt/milestones/?) | ||
**Scheduled Date**: YYYY/MM/DD | ||
**Pull request due date**: YYYY/MM/DD | ||
**Scheduled Date**: 20YY/MM/DD | ||
**Pull request due date**: 20YY/MM/DD | ||
**DOI**: `10.5281/zenodo.XXXXXXX` | ||
|
||
**Priority PRs/issues to complete prior to release** | ||
|
||
- [ ] Wrap X () | ||
- [ ] Wrap Y () | ||
|
||
**Before release**: | ||
|
||
- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of GMT, Python and core package dependencies (NumPy/Pandas/Xarray) | ||
- [ ] Run `make codespell` to check common misspellings. If there are any, either fix them or add them to `ignore-words-list` in `pyproject.toml` | ||
- [ ] Review the ["PyGMT Team" page](https://www.pygmt.org/dev/team.html) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Review the PyGMT team as early as possible so that we have more time for discussions. |
||
- [ ] Check to ensure that: | ||
- [ ] Deprecations and related tests are removed for this version by running `grep --include="*.py" -r vX.Y.Z` from the base of the repository | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Check deprecations as early as possible, so that we don't have to check workflow runs after removing deprecated codes and tests. |
||
- [ ] All tests pass in the ["GMT Legacy Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_legacy.yaml) | ||
- [ ] All tests pass in the ["GMT Dev Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_dev.yaml) | ||
- [ ] All tests pass in the ["Doctests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_doctests.yaml) | ||
- [ ] Deprecations and related tests are removed for this version by running `grep --include="*.py" -r 'remove_version="vX.Y.Z"' pygmt` from the base of the repository | ||
- [ ] Update warnings in `pygmt.show_versions()` as well as notes in [Common installation issues](https://www.pygmt.org/dev/install.html#not-working-transparency) | ||
and [Testing your install]((https://www.pygmt.org/dev/install.html#testing-your-install) regarding GMT-Ghostscript incompatibility | ||
- [ ] Update warnings in `pygmt/_show_versions.py` as well as notes in | ||
[Not working transparency](https://www.pygmt.org/dev/install.html#not-working-transparency) | ||
regarding GMT-Ghostscript incompatibility | ||
- [ ] Reserve a DOI on [Zenodo](https://zenodo.org) by clicking on "New Version" | ||
- [ ] Review the ["PyGMT Team" page](https://www.pygmt.org/dev/team.html) | ||
- [ ] Finish up 'Changelog entry for v0.x.x' Pull Request: | ||
- [ ] Add a new entry in `doc/_static/version_switch.js` for documentation switcher | ||
- [ ] Update `CITATION.cff` and BibTeX at https://github.com/GenericMappingTools/pygmt#citing-pygmt | ||
- [ ] Update authorship list | ||
- [ ] Update DOI (and url for BibTeX) | ||
- [ ] Update version | ||
- [ ] Update date released | ||
- [ ] Add the documentation link `doc/minversions.md` | ||
- [ ] Add minimum required version information `doc/minversions.md` | ||
- [ ] Copy draft changelog from Release Drafter and edit it to look nice ([see maintainers guide for details](https://www.pygmt.org/dev/maintenance.html#updating-the-changelog)) | ||
- [ ] Finish up the "Changelog entry for v0.x.x" Pull Request (Use the previous changelog PR as a reference) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Previously, this task has many smaller tasks:
Based on my experience with making releases, I usually use the previous changelog PR as a reference. For example, when releasing v0.13.0 in #3425, I used the v0.12.0 PR #3201 as reference. I feel we can move these subtasks from the release checklist to the release PR. So, when releasing v0.14.0, we will use #3425 as a reference. |
||
- [ ] Run `make codespell` to check common misspellings. If there are any, either fix them or add them to `ignore-words-list` in `pyproject.toml` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Check misspelling after finishing the changlog, just in case we introduce new typos in changelog. |
||
- [ ] Draft the announcement on https://hackmd.io/@pygmt | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Start to draft the announcement when we work on the changelog, so that we can finish the announcement as early as possible after making a release. |
||
|
||
**Release**: | ||
|
||
- [ ] At the [PyGMT release page on GitHub](https://github.com/GenericMappingTools/pygmt/releases): | ||
- [ ] Edit the draft release notes with the finalized changelog | ||
- [ ] Set the tag version and release title to vX.Y.Z | ||
- [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too | ||
- [ ] Manually upload the pygmt-vX.Y.Z.zip and baseline-images.zip files to https://zenodo.org/deposit, ensure that it is filed under the correct reserved DOI | ||
- [ ] Download pygmt-X.Y.Z.zip (rename to pygmt-vX.Y.Z.zip) and baseline-images.zip from | ||
the release page, and upload the two zip files to https://zenodo.org/deposit, | ||
ensure that they are filed under the correct reserved DOI | ||
|
||
**After release**: | ||
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) [Done automatically by conda-forge's bot, but remember to pin SPEC0 versions] | ||
|
||
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) | ||
seisman marked this conversation as resolved.
Show resolved
Hide resolved
|
||
[Done automatically by conda-forge's bot. Remember to pin Python and SPEC0 versions] | ||
- [ ] Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update) | ||
- [ ] Announce the release on: | ||
- [ ] GMT [forum](https://forum.generic-mapping-tools.org/c/news/) (do this announcement first! draft on https://hackmd.io/@pygmt. requires moderator status) | ||
- [ ] GMT [forum](https://forum.generic-mapping-tools.org/c/news/) (do this announcement first! Requires moderator status) | ||
- [ ] [ResearchGate](https://www.researchgate.net) (after forum announcement, add new version as research item via the **code** category, be sure to include the corresponding new Zenodo DOI) | ||
|
||
--- | ||
|
||
- [ ] Party :tada: (don't tick before all other checkboxes are ticked!) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the DOI at the top so that we can copy and paste to other files.