Skip to content

Release GMT 6.2.0 #5290

@maxrjones

Description

@maxrjones

Version: 6.2.0

Scheduled date: June 05, 2021

Before release:

  • check if all tests pass on macOS, Linux and Windows
  • check if other GMT-derived projects work well
  • reserve a DOI on zenodo (@PaulWessel)
  • run src/gmt_make_*.sh to update some .c and .h files
  • run admin/gs_check.sh to test if latest ghostscript version works
  • update changelog
  • check installation instructions in INSTALL.md
  • check if there are any warnings when building the documentation
  • add one new entry in doc/rst/_static/version_switch.js if it's a minor release
  • check/set values in cmake/ConfigDefault.cmake
    • GMT_VERSION_YEAR is current year
    • GMT_PACKAGE_VERSION_* is correctly set
    • GMT_LIB_SOVERSION is correctly set
    • set GMT_PUBLIC_RELEASE to TRUE
    • update GMT_VERSION_DOI
  • freeze codes and commit all changes to GitHub

Release:

  • create source tarballs (tar.gz and tar.xz) (@PaulWessel, @meghanrjones)
  • create macOS bundles (arm64 and intel) (@PaulWessel, @meghanrjones)
  • create Windows installers (win32 and win64) (@joa-quim)
  • check if the source tarballs, macOS bundle and Windows installers work well
  • upload source tarballs, macOS bundle, Windows installers to the GMT FTP (@PaulWessel, @meghanrjones)
  • update README and VERSION files on the GMT FTP (@PaulWessel)
  • make a tag and push it to github (Must be done after uploading packages to the GMT FTP)
    # checkout master (for minor releases) or 6.x branch (for patch releases)
    git checkout XXXX
    # create the tag x.x.x
    git tag x.x.x
    # Push tags to GitHub
    git push --tags
  • make a GitHub release.
    The GitHub Actions automatically create a draft release after pushing the tag to github.
    We need to go to the GitHub Release page, and review it manually.
    • 7 files are attached as release assets (2 source tarballs, 4 installers and 1 checksum file).
    • download the checksum file and check if the checksums are correct
    • edit the draft release, set the target to the correct tag, and publish the release
  • upload the tarball to zenodo (@PaulWessel)
  • make announcements in the GMT forum
  • make announcements on the GMT twitter
  • update links on the main site (News, Download & Documentation)

After release:

  • create branch 6.x for bug-fixes if this is a minor release (i.e. create branch 6.2 after 6.2.0 is released)
    git checkout master
    git checkout -b 6.2
    git push --set-upstream origin 6.2
    
  • update GMT_PACKAGE_VERSION_* in cmake/ConfigDefault.cmake
  • comment the set (GMT_PUBLIC_RELEASE TRUE) line
  • commit changes to GitHub

3rd-party update

Volunteers needed! Please let us know if you volunteer to help to maintain GMT in these 3rd-party tools.


  • Party 🎉 (don't tick before all other checkboxes are ticked!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions