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

Update release process in template post v0.3.0 #907

Merged
merged 7 commits into from
Mar 1, 2021
21 changes: 15 additions & 6 deletions .github/ISSUE_TEMPLATE/release_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,27 @@ assignees: ''

weiji14 marked this conversation as resolved.
Show resolved Hide resolved
---

**Release**: [v0.x.x](https://github.com/GenericMappingTools/pygmt/milestones/0.x.x)
**Release**: [v0.x.x](https://github.com/GenericMappingTools/pygmt/milestones/?)
**Scheduled Date**: YYYY/MM/DD
**Pull request due date**: YYYY/MM/DD
seisman marked this conversation as resolved.
Show resolved Hide resolved

**Priority PRs/issues to complete prior to release**
- [ ] Wrap X ()
- [ ] Wrap Y ()

**Before release**:
- [ ] Reserve a DOI on [Zenodo](https://zenodo.org) by clicking on "New Version"
- [ ] Update Changelog
- [ ] Add a new entry in `doc/_static/version_switch.js` for documentation switcher
- [ ] Update citation information https://github.com/GenericMappingTools/pygmt#citing-pygmt
- [ ] 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 information https://github.com/GenericMappingTools/pygmt#citing-pygmt
weiji14 marked this conversation as resolved.
Show resolved Hide resolved
- [ ] Copy draft changelog from Release Drafter and edit it to look nice

seisman marked this conversation as resolved.
Show resolved Hide resolved
**Release**:
- [ ] Go to [GitHub Release](https://github.com/GenericMappingTools/pygmt/releases) and make a release, this will automatically create a tag too
- [ ] Manually upload the pygmt-vX.Y.Z.zip file to https://zenodo.org/deposit, make sure you file it under the correct reserved DOI
- [ ] 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 file to https://zenodo.org/deposit, ensure that it is filed under the correct reserved DOI

**After release**:
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) [Usually done automatically by conda-forge's bot]
Expand Down
39 changes: 17 additions & 22 deletions MAINTENANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,31 +116,26 @@ https://github.com/release-drafter/release-drafter.
The drafted release notes are not perfect, so we will need to tidy it prior to
publishing the actual release notes at https://www.pygmt.org/latest/changes.html.

1. Generate a list of commits between the last release tag and now:
1. Go to https://github.com/GenericMappingTools/pygmt/releases and click on the
'Edit' button next to the current draft release note. Copy the text of the
automatically drafted release notes under the 'Write' tab to
`doc/changes.md`. Add a section separator `---` between the new and old
changelog sections.
2. Update the DOI badge in the changelog. Remember to replace the DOI number
inside the badge url.

```bash
git log HEAD...v0.1.2 --pretty="* %s" > changes.txt
```

2. Edit the changes list to remove any trivial changes (updates to the README, typo
fixes, CI configuration, etc).
3. Replace the PR number in the commit titles with a link to the GitHub PR page.
Use ``sed -i.bak -E 's$\(#([0-9]*)\)$(`#\1 <https://github.com/GenericMappingTools/pygmt/pull/\1>`__)$g' changes.rst``
to make the change automatically.
4. Copy the remaining changes to `doc/changes.rst` under a new section for the
intended release.
5. Add a list of people who contributed to the release (use
`` git shortlog HEAD...v0.1.2 -sne ``).
6. Include the DOI badge in the changelog. Remember to replace your DOI inside the badge url.

[![Digital Object Identifier for PyGMT vX.Y.Z](https://zenodo.org/badge/DOI/10.5281/zenodo.<INSERT-DOI-HERE>.svg)](https://doi.org/10.5281/zenodo.<INSERT-DOI-HERE>)
```
.. image:: https://zenodo.org/badge/DOI/<INSERT-DOI-HERE>.svg
:alt: Digital Object Identifier for the Zenodo archive
:target: https://doi.org/<INSERT-DOI-HERE>
```

7. Add a link to the new release version documentation in `README.rst`.
8. Open a new PR with the updated changelog.
3. Open a new Pull Request using the title 'Changelog entry for vX.Y.Z' with
the updated release notes, so that other people can help to review and
collaborate on the changelog curation process described next.
4. Edit the change list to remove any trivial changes (updates to the README,
typo fixes, CI configuration, etc).
5. Edit the list of people who contributed to the release, linking to their
GitHub account. Sort their names by the number of commits made since the
last release (e.g. use `` git shortlog HEAD...v0.1.2 -sne ``).
6. Add a link to the new release version documentation in `README.rst`.

### Check the README syntax

Expand Down