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

Release PyGMT v0.14.1 #3759

Open
10 of 33 tasks
seisman opened this issue Jan 9, 2025 · 7 comments
Open
10 of 33 tasks

Release PyGMT v0.14.1 #3759

seisman opened this issue Jan 9, 2025 · 7 comments
Labels
maintenance Boring but important stuff for the core devs
Milestone

Comments

@seisman
Copy link
Member

seisman commented Jan 9, 2025

Release: v0.14.1
Scheduled Date: 20YY/MM/DD
Pull request due date: 20YY/MM/DD
DOI: 10.5281/zenodo.XXXXXXX

PRs that should be backported

Priority PRs/issues to complete prior to release

Before release:

  • Check SPEC 0 to see if we need to bump the minimum supported versions of GMT, Python and core package dependencies (NumPy, pandas, Xarray)
  • Review the "PyGMT Team" page
  • README looks good on TestPyPI. Visit TestPyPI, click the latest pre-release, and check the homepage.
  • Check to ensure that:
  • Update warnings in pygmt/_show_versions.py as well as notes in Not working transparency regarding GMT-Ghostscript incompatibility
  • Reserve a DOI on Zenodo by clicking on "New Version"
  • Finish up the "Changelog entry for v0.x.x" Pull Request (Use the previous changelog PR 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
  • Draft the announcement on https://hackmd.io/@pygmt

Release:

  • At the PyGMT release page on GitHub:
    • 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
  • 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 [Done automatically by conda-forge's bot. Remember to pin GMT, Python and SPEC0 versions]
  • Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update)
  • Announce the release on:
    • GMT forum (do this announcement first! Requires moderator status)
    • ResearchGate (after forum announcement; download the ZIP file of the new release from the release page and add it as research item via the code category, be sure to include the corresponding new Zenodo DOI)
  • Update release checklist template with any additional bullet points that may have arisen during the release

  • Party 🎉 (don't tick before all other checkboxes are ticked!)
@seisman seisman added the maintenance Boring but important stuff for the core devs label Jan 9, 2025
@seisman seisman pinned this issue Jan 9, 2025
@seisman
Copy link
Member Author

seisman commented Jan 9, 2025

#3758 (comment)

I guess we also need to release v0.14.1.

Yes, wish we hadn't merged some of those deprecation PRs yet 🙂 We could either revert those, or branch off of commit b1c984a to make a release perhaps? Maybe start a new issue for this.

We need a patch release to address bug #3757. Since there are already 20+ commits (especially #3738, #3739) since v0.14.0 (v0.14.0...refs/heads/main), we can't create the patch release from the main branch directly.

So, we have two options:

I'm inclined to option 2.

@seisman
Copy link
Member Author

seisman commented Jan 9, 2025

  • ResearchGate (after forum announcement; download the ZIP file of the new release from the release page and add it as research item via the code category, be sure to include the corresponding new Zenodo DOI)

I'm wondering if we should stop uploading the ZIP file to ResearchGate. The reasons are:

  1. Downloading and uploading take some time.
  2. I don't have the numbers, but I expect that very few users will download the ZIP file.
  3. ResearchGate is not a good platform to distribute source code packages.
  4. We already have the DOI for the research item, and people can just visit Zenodo for the package if they need it.

@weiji14
Copy link
Member

weiji14 commented Jan 9, 2025

So, we have two options:

I'm inclined to option 2.

We discussed the backporting strategy (option 2) before in #945 (comment) and a few other places, and decided it was somewhat of a chore, but would be happy to trial this. There will be quite a few backport PRs we'll need to open, so should we use an automated action perhaps? I mentioned https://github.com/python/miss-islington in #424 (comment), but there are probably other better ones out there now.

I'm wondering if we should stop uploading the ZIP file to ResearchGate.

The ZIP file upload is more just to create a 'news' item on ResearchGate. Maybe we can decide to skip the announcement steps for patch releases to simplify the process? The patch release could just be announced as a comment under https://forum.generic-mapping-tools.org/t/pygmt-v0-14-0-released/5668 perhaps.

P.S. I've opened a milestone for v0.14.1 at https://github.com/GenericMappingTools/pygmt/milestone/23

@weiji14 weiji14 added this to the 0.14.1 milestone Jan 9, 2025
@seisman
Copy link
Member Author

seisman commented Jan 10, 2025

So, we have two options:

I'm inclined to option 2.

We discussed the backporting strategy (option 2) before in #945 (comment) and a few other places, and decided it was somewhat of a chore, but would be happy to trial this. There will be quite a few backport PRs we'll need to open, so should we use an automated action perhaps? I mentioned https://github.com/python/miss-islington in #424 (comment), but there are probably other better ones out there now.

Considering that we rarely release patch releases (the last patch release is v0.6.1 whihc is more than 2.5 years ago), I feel we can just do backporting manually, instead of exploring how bots work.

Edit: When releasing GMT 6.0 or 6.1, we also took some time to set up a backport app, and we haven't used it for a very long time.

@seisman
Copy link
Member Author

seisman commented Jan 14, 2025

I think the next steps are:

  • Create the v0.14.x branch off the v0.14.0 tag
  • Backport necessary changes (see the top post) into this branch (via PRs)
  • If everything works well, go through the checklist and create the v0.14.1 tag

@yvonnefroehlich
Copy link
Member

yvonnefroehlich commented Jan 16, 2025

So, we have two options:

I have no experience here, and if people think option 2 is good I am fine with this.


I think the next steps are:

  • Create the v0.14.x branch off the v0.14.0 tag
  • Backport necessary changes (see the top post) into this branch (via PRs)

I think we also need to consider PR #3737, and I would also include the PRs #3745 and #3751.
What's about the formulation improvements for the hlines and vlines docs in https://github.com/GenericMappingTools/pygmt/pull/3755/files#diff-157251acb3879ebd83f31df05ed9b94e3b82a96fe3868a74189959aaa35695e4 and https://github.com/GenericMappingTools/pygmt/pull/3755/files#diff-c22d24476522d746d2046bb15114142657ce779eed51296fe6909a7477520598?

  • If everything works well, go through the checklist and create the v0.14.1 tag

@seisman
Copy link
Member Author

seisman commented Jan 17, 2025

I've backported five commits into the v0.14.x branch (see the top post for linked PRs), and I think we're done with patching the v0.14.0 release. Of course, there are more fixes that can be backported, but they're just very minor issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Boring but important stuff for the core devs
Projects
None yet
Development

No branches or pull requests

3 participants