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 GMT 6.1.0 #2968

Closed
34 of 35 tasks
seisman opened this issue Mar 25, 2020 · 63 comments
Closed
34 of 35 tasks

Release GMT 6.1.0 #2968

seisman opened this issue Mar 25, 2020 · 63 comments
Milestone

Comments

@seisman
Copy link
Member

seisman commented Mar 25, 2020

Version: 6.1.0
Scheduled date: July 1, 2020

Before release:

  • reserve a DOI on zenodo (@PaulWessel)
  • run src/gmt_make_*.sh to update some .c and .h files
  • check if all tests pass on macOS, Linux and Windows
  • run admin/gs_check.sh to test if latest ghostscript version works
  • update changelog
  • update INSTALL.md
  • check if there are any warnings when build the documentation
  • 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)
  • create macOS bundle (@PaulWessel)
  • 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)
  • make a tag and push it to github (Must be done after uploading packages to the GMT FTP)
    git tag x.x.x
    git push --tags
    
  • make a GitHub Release.
    GitHub actions automatically create a draft release for us after pushing the tag.
    We need to check if everything is OK and then publish the release.
  • upload the tarball to zenodo (@PaulWessel)
  • update README and VERSION files on the GMT FTP (@PaulWessel)
  • make announcements in the GMT forum (https://forum.generic-mapping-tools.org/t/gmt-6-1-0-has-been-released/619)
  • 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.1 after 6.1.0 is released)
  • update GMT_PACKAGE_VERSION_* in cmake/ConfigDefault.cmake
  • comment the set (GMT_PUBLIC_RELEASE TRUE) line
  • commit changes to GitHub

3rd-party update


  • Party 🎉 (don't tick before all other checkboxes are ticked!)
@seisman seisman added this to the 6.1.0 milestone Mar 25, 2020
@seisman seisman pinned this issue Mar 31, 2020
@PaulWessel
Copy link
Member

Following our latest contributor chat, we agreed on periodic releases, twice a year, and we probably wanted to release them not the week before AGU, despite the historical precedence of doing that numerous times in the olden days...
Since 6.1 is way overdue and has lots of new stuff, it is probably fine to aim for June 1 as a firm release date and then we start the 6-month cycle on Oct 1, 2020, followed by April and October releases in future years. We will push the 3-D grid implementation to the October release.

@PaulWessel
Copy link
Member

June 1 is coming up. We need to make decision on whether or not some planned features shall go in now or be saved for 6.2:

  • GMT themes. The mechanism is implemented and works well. Defining what modern mode (and others) contain is not completed. Relatively easy to pick some defaults; more work if we want to add some auto-scaling.
  • Let -o take scales, offets, etc. Seems straightforward, but probably not essential for 6.1
  • What else? Any lingering issues or PRs we want to finish. 10 days is short.

@seisman
Copy link
Member Author

seisman commented May 21, 2020

  • GMT themes. The mechanism is implemented and works well. Defining what modern mode (and others) contain is not completed. Relatively easy to pick some defaults; more work if we want to add some auto-scaling.

I prefer to save it for 6.2 so that we have more time to test and tweak the settings for each theme.

  • Let -o take scales, offets, etc. Seems straightforward, but probably not essential for 6.1

6.1 if it doesn't take much time to implement it.

  • What else? Any lingering issues or PRs we want to finish. 10 days is short.

We have a 6.1.0 milestone. Most of the issues in the 6.1.0 milestone are to improve the documentation, but it's OK to save most of them for 6.1.1 or 6.2.0.

IMHO, these issues should be addressed before the 6.1.0 release:

@joa-quim
Copy link
Member

Thought in pushing #3287 but it really opens a can of works. We really should stop treating images as if they were grids and use GDAL to re-interpolate them.

@PaulWessel
Copy link
Member

Given it is June 28 and no clear path to complete an agreeable themes roll-out and suitable period of testing, I think we will wait with themes until a later release when it can be more prepared. Thus, once #3550 can be merged I think we should build GMT 6.1.0rc1 immediately.

@PaulWessel
Copy link
Member

When does SOVERSION change? Only when doing 7?

@PaulWessel
Copy link
Member

Will be off the grid this morning (HI time) but back in afternoon. We need to make progress on the check-boxes. WIth GDAL 3.1.0 I think tests are OK.no @seisman? I checked the INSTALL.md since we did that yesterday.

@joa-quim
Copy link
Member

joa-quim commented Jul 2, 2020

My internet decided to go with GDAL 3.1.1 and is permanently crashing. Already contacted technical assistance but nothing improved. In this moment I'm using the phone hotspot.
We have the GEOS PR to solve. No problems with it but the CI is failing because the wrong lib is being detected (explained that in the issue)

@seisman
Copy link
Member Author

seisman commented Jul 2, 2020

When does SOVERSION change? Only when doing 7?

Yes, I think so. Currently, the library version is the same as the GMT version, i.e., libgmt.6.1.0.dylib.

WIth GDAL 3.1.0 I think tests are OK.

Yes.

@PaulWessel
Copy link
Member

Can I check to box that says "freeze codes and commit all changes to GitHub" above, @joa-quim and @seisman ?

@seisman
Copy link
Member Author

seisman commented Jul 4, 2020

gmtmex/WL_example_3.sh still fails, but I'm OK to put it after 6.1.0 release.

@PaulWessel
Copy link
Member

Let me have a look one last time. There are two issues:

  1. The download to current directory means 24 Mb each time we test locally [don't care about CI taking longer]
  2. The mysterious 0.01 scale factor taht seems OS dependent?

@joa-quim
Copy link
Member

joa-quim commented Jul 4, 2020

It would be very good if we could do everything tonight. I'm at Lisbon with good connection but tomorrow I'll be back home where internet became shit and technician will go only Tuesday.

@PaulWessel
Copy link
Member

OK, still compiling - will take hours.
But we can go ahead and assume all is well and built tarballs. Let me get that going.

@PaulWessel
Copy link
Member

OK, @GenericMappingTools/core all built and placed in ftp.soest.hawaii.edu/pwessel/release as usual.

992eb6e3e42032cf0fe5259f65ca6a8bca37e400ae49896f62dbbc5b8b9064eb  gmt-6.1.0-darwin-x86_64.dmg
5cc6c38848079b9df3c94ecb53a5d2a4a685775f51e7a884aa5807b7f6fdfd6f  gmt-6.1.0-src.tar.gz
ad02780153c53a1116ae0cc7945b6f533f066af44c30d7f95ff138cfede1867c  gmt-6.1.0-src.tar.xz

I will try a src and bundle later but after family zoom. The gdal build finished so there is taht. But I suggest you build win installers with the current src tar.

@joa-quim
Copy link
Member

joa-quim commented Jul 4, 2020

@PaulWessel
Copy link
Member

6.1.0 64-bit happily made me a pdf and a png. PDF opened in edge browser, and png opened in Photos. Trying 32 next.

@PaulWessel
Copy link
Member

32 seems fine too. Great, now trying the bundle. Note, I typed ffmpeg to check if in the path so things are there but I did not try to make a movie or something complicated.

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

This PR installs GMT 6.1.0 on macOS and Windows (both win32 and win64) using the Azure Pipelines VMs, and runs several gmt commands. All look good to me.

@joa-quim
Copy link
Member

joa-quim commented Jul 5, 2020

Ah, I forgot to mention. The gmt-6.1.0-src.tar.xz lacks the admin directory. Had to copy it from master.

@PaulWessel
Copy link
Member

I thought nobody but us needs it, no?

@PaulWessel
Copy link
Member

But no secrets in there so we could add it.

@PaulWessel
Copy link
Member

macos Bundle seems OK, made a coast plot and the globe.sh movie.
Building from source on Linux remains.

@joa-quim
Copy link
Member

joa-quim commented Jul 5, 2020

The admin dir is needed to build the installers and has the License files.

@PaulWessel
Copy link
Member

@dongdong, looks like we should include admin in the tarball after all?

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

Only you and @joa-quim need the admin directory. Other users can still create non-portable installers without it.

@PaulWessel
Copy link
Member

I am having some issues with my dual-boot WIn/CentOS - might you be able to give the tarball a minimal testing? Then we can proceed down the check list.

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

I'll update the links on the main site.

@PaulWessel
Copy link
Member

Unresolved issues - possibly items for checklist:

We should ensure that both MB-System and GMTSAR can work with a new release before we release. I know they should have a system in place to check as well, but they don't. I will build both here locally and I am pretty sure we are OK, but will see.

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

Yes, also add PyGMT and GMT.jl to the checklist.

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

I updated the main site in this PR. A problem is, the link for the GMT 6.1.0 documentation is not available.

From what I understand, after pushing new commits to the 6.1 branch, it will create the 6.1 documentation automatically.

@PaulWessel
Copy link
Member

And I think I made a change in 6.1 to the function gmt_get_palette which now is

gmt_prototypes.h:EXTERN_MSC struct GMT_PALETTE * gmt_get_palette (struct GMT_CTRL *GMT, char *file, enum GMT_enum_cpt mode, double zmin, double zmax, double dz);

Unfortulately, MB-system uses a macro we made (gmt_get_cpt) to call that function:

#define gmt_get_cpt(GMT,file,flag,min,max) gmt_get_palette(GMT,file,flag,min,max,0.0,0)

but now it should only have 6 args, not 7 [this has to do with upgrades to remote files and CPTs).

So I can tell Dave that he probably should tell people that his 5.7.5 requires 6.0.0 and then release a 5.7.6 after using gmt_get_pallete directly and do the other things the gmt_mb.h is helping him with for now.

I guess I will add a PR to 6.1 that updates gmt_mb.h for now?

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

I guess I will add a PR to 6.1 that updates gmt_mb.h for now?

Need to finish the checklist first, i.e., update the GMT_VERSION_* and set GMT_PUBLIC_RELEASE to false.

@PaulWessel
Copy link
Member

GMTSAR compiles and links fine with master.

@PaulWessel
Copy link
Member

Wait for 6.1 docs to be built before posting a forum message and website news item with link to it, I think. Do you know when it runs?

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

It should be ready in half an hour.

@PaulWessel
Copy link
Member

I see master 6.2 has refreshed so I guess it is still working on 6.1. I have drafted a news and will insert a link to our ChangeLog as well as website. Then, with the forum link I will do the reverse from the website.

@PaulWessel
Copy link
Member

Dinner with a guest is starting here so may be a bit slow for some hours...

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

@PaulWessel
Copy link
Member

Should I use the link to the dev/ doc for the datasets - when that rebuilds it will list the earth ages. 6.1 has the rest minus earth ages.

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

No. When you commit changes to the 6.1 branch, the 6.1 documentation is also updated. Wait for another 10 minutes and you will see the earth ages in https://docs.generic-mapping-tools.org/6.1/datasets.html.

@seisman
Copy link
Member Author

seisman commented Jul 5, 2020

@PaulWessel
Copy link
Member

OK, cool!

@holishing
Copy link
Contributor

I've been updated this release to AUR repository: https://aur.archlinux.org/packages/gmt6/

@seisman
Copy link
Member Author

seisman commented Jul 6, 2020

FYI, Debian Sid (unstable) has upgraded to GMT 6.1.0, and Fedora 33 (Rawhide, unstable) will also provide 6.1.0 in a few days. Other Linux distros are very likely NOT to update to GMT 6.1.0.

@seisman
Copy link
Member Author

seisman commented Jul 14, 2020

The macports PR is finally merged. Now the only thing left is fink. Are there fink users? Do we want to drop the official support to fink?

@PaulWessel
Copy link
Member

I think @remkos was the last fink user we know by name and he has transitioned to macports. He suggested I ask Kurt Schweer to see if he may have an interest. I think none of our team cares. I will send Kurt an email.

@WalterHFSmith
Copy link
Contributor

WalterHFSmith commented Jul 14, 2020 via email

@PaulWessel
Copy link
Member

Yep, Schwehr , the mailtool never forgets. Mail sent.

@PaulWessel
Copy link
Member

Kurt says he has given up on mac altogether and just used them for ssh+terminal.
He did sing the praises of https://github.com/google/oss-fuzz as a new way to help find bugs - please have a read and see what you think.
So for fink: We should stop support since (a) nobody is using it that we know and (b) nobody we know is willing to maintain the recipe.

@seisman
Copy link
Member Author

seisman commented Jul 14, 2020

OK. I'll remove fink from the checklist and install instructions.

@seisman
Copy link
Member Author

seisman commented Jul 14, 2020

All done. Closing.

@seisman seisman closed this as completed Jul 14, 2020
@seisman seisman unpinned this issue Jul 14, 2020
@joa-quim
Copy link
Member

joa-quim commented Jul 14, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants