Skip to content

Release GMT 6.1.1 #3850

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

Closed
45 tasks done
seisman opened this issue Aug 5, 2020 · 65 comments
Closed
45 tasks done

Release GMT 6.1.1 #3850

seisman opened this issue Aug 5, 2020 · 65 comments
Milestone

Comments

@seisman
Copy link
Member

seisman commented Aug 5, 2020

Version: 6.1.1

Scheduled date: Sep 1, 2020

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
  • 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)
  • 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)
    git tag x.x.x
    git push --tags
    
  • make a GitHub release.
    Go to the GitHub Release page,
    check the draft release (automatically created by github-actions after pushing the tag).
    • 6 files are attached as release assets (2 source tarballs, 3 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
  • 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)
    git checkout master
    git checkout -b 6.1
    git push --set-upstream origin 6.1
    
  • 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.1 milestone Aug 5, 2020
@seisman seisman pinned this issue Aug 5, 2020
@seisman
Copy link
Member Author

seisman commented Aug 22, 2020

Today is the scheduled date for GMT 6.1.1 release.

To me, these two issues may need to be fixed before 6.1.1 release. They're not critical issues, so I'm also OK to leave them to 6.2.0 release.

@PaulWessel
Copy link
Member

@joa-quim is looking at #4003. I will see what the other one is about.

@joa-quim
Copy link
Member

joa-quim commented Aug 22, 2020 via email

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

All the tests (except a few known failures) pass on Linux, macOS and Windows. PyGMT also works well with 6.1 branch.

@PaulWessel
Copy link
Member

The MB-System really is set up to work well with homebrew. Would it be possible for @seisman to just clone that repo and run /configure and see if all is found. I am running into various proj stuff "missing"

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

Just cloned the repo and run ./configure. It can find my GMT 6.1, but can't find openGL:

Did not find OpenGL headers anywhere, use --with-opengl-include to set the location
configure: error: Did not find OpenGL headers anywhere, use --with-opengl-include to set the location

@PaulWessel
Copy link
Member

Might have to add these to configure:

--with-opengl-lib=/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries
--with-opengl-include=/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers

or there is also a switch to turn off the building of the interactive stuff that requires all that.

@joa-quim
Copy link
Member

joa-quim commented Sep 1, 2020

If you are cloning master it may be related to development of the new Qt interface (just aguess).

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

Yes, I cloned the master branch. I have /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries but don't have /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers.

Fortunately, I have X11 installed, and X11 provides the GL headers and library. So I'm running

./configure --with-opengl-include=/opt/X11/include --with-opengl-lib=/opt/X11/lib/
make 

It's still compiling. So far so good. Will let you know when it finishes.

@PaulWessel
Copy link
Member

GMTSAR builds fine with 6.1.1. I have no tests for it.

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

Building of MB-system looks good to me. I don't see any errors or warnings, and I don't run it.

@PaulWessel
Copy link
Member

I think that is fine. Caress told me they do CI tests with GMT now so hopefully we would be told - but likely more of a master 6.2 issue.

@PaulWessel
Copy link
Member

PaulWessel commented Sep 1, 2020

I ran gallery through 27, but 28 fussed Download cache file: @Kilauea.utm.nc+Uk
but for 6.1.1 release I think it is generally fine. I am fixing a few outdated syntaxes in gmt_gallery.m as well.
Many changes to our core examples means some are failing because cache files are no longer used.

@PaulWessel
Copy link
Member

Checklist has edit changelog but I cannot find that file anywhere?

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

Checklist has edit changelog but I cannot find that file anywhere?

It's doc/rst/source/changes.rst.

@PaulWessel
Copy link
Member

Thanks, perhaps revise the checklist to state that. Since 6.1.1 has no new features, and I dont really want to hunt down all those entries, should we just add a blanket statement such as "the GMT 6.1.1 release adds no new features but fixes a number of bugs that have surfaced since the release of 6.1. As such, it is a recommended upgrade for all 6.1 users". ?

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

Yes, I agree. No need to list the bug-fixes, as there are too many.

@joa-quim
Copy link
Member

joa-quim commented Sep 1, 2020

a relatively large number of bugs

@PaulWessel
Copy link
Member

I always get these two when building the docs - master as well - so nothing new. I assume this means Add_-h is undefined in two places where the explain_-h.rst_ file is included?

@PaulWessel
Copy link
Member

I do not think there is any changes needed in INSTALL.md since it is at least major version insensitive, no?

@PaulWessel
Copy link
Member

I assume we/you can check the GMT.jl box for 6.1.1, @joa-quim ?

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

I always get these two when building the docs - master as well - so nothing new. I assume this means Add_-h is undefined in two places where the explain_-h.rst_ file is included?

See the fix in #4148. Our CI should warn us if there are warnings when building the documentation. Will see why it doesn't work later.

I do not think there is any changes needed in INSTALL.md since it is at least major version insensitive, no?

Yes.

@PaulWessel
Copy link
Member

I will build the tarball and bundle candidates, assuming @joa-quim has no issues after testing Julia.

@joa-quim
Copy link
Member

joa-quim commented Sep 1, 2020

Julia tests are fine. The dinner hopefully as well.

@PaulWessel
Copy link
Member

Files placed on my soest ftp release directory as listed in admin/build-release.sh

28b4f59190fe401f9d94511bcc8e08546c6e8104e51eed806dcf1164d62582db  gmt-6.1.1-darwin-x86_64.dmg
9706ffa858a98bb1b97162e3887aa03c6c746017a274951e94a6341a59efad12  gmt-6.1.1-src.tar.gz
d476cba999340648146ef53ab4a3f64858cbd2f5511cdec9f7f06f3fb7896625  gmt-6.1.1-src.tar.xz

Time to build the Windows installers plus test the src and bundle. I will be on road for a few hours but will continue later.

@PaulWessel
Copy link
Member

PaulWessel commented Sep 1, 2020

Sorry, being copied...now all 3 are there.

@seisman
Copy link
Member Author

seisman commented Sep 1, 2020

I can see these files, but can't download them (it says these files don't exist).

@PaulWessel
Copy link
Member

Sorry, default permissions. Will fix in 1-2 hours...

@joa-quim
Copy link
Member

joa-quim commented Sep 2, 2020

Yes, I did sometime ago (like I said in that issue). What I did now was to compile 9.53 version but stripped out of the annoying warnings of future deprecations.

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

Great! The Windows installers look good.

@PaulWessel
Copy link
Member

Will soon have all files on ftp server. Question: I assume I make the 6.1.1 tag while branch 6.1 is the active branch?

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

I assume I make the 6.1.1 tag while branch 6.1 is the active branch?

YES.

@PaulWessel
Copy link
Member

OK, I have done my parts, I guess the CI will build the GitHub release next.

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

OK, I have done my parts, I guess the CI will build the GitHub release next.

Yes, but the bad news is that the CI fails (https://github.com/GenericMappingTools/gmt/runs/1063178680) because it can't download files from the FTP. Permission issue again?

@PaulWessel
Copy link
Member

Yes... I changed the permissions after placing all the files in the pub.release but just coping them to the gmt dir reverted to defaults... OK, please tell it to run again.

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

The CI is done. You can review the draft release now.

@PaulWessel
Copy link
Member

Looks OK to me - not sure what to review other than reasonable file sizes etc.?

@PaulWessel
Copy link
Member

and the checksums are good.

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

Looks OK to me - not sure what to review other than reasonable file sizes etc.?

and the checksums are good.

I believe that's enough.

@PaulWessel
Copy link
Member

Will you take care of the draft edit and links, @seisman, and I can start making an announcement message?

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

Will you take care of the draft edit and links, @seisman, and I can start making an announcement message?

Done.

@PaulWessel
Copy link
Member

How long until the main gmt site's download page gets updated? I guess triggered by your update so maybe a few minutes? I will wait with posting my forum message until I see it.

@PaulWessel
Copy link
Member

Shall I edit the web page stuff? We want to also move teh UNAVCO course to the past tense.

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

It takes ~1 minutes after pushing changes to the master branch.

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

The GMT's main site is NOT updated by the CI. We have to update it manually.

@PaulWessel
Copy link
Member

OK, unless you have started I can take a crack at that and make a PR?

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

Go ahead, please.

@PaulWessel
Copy link
Member

The next steps about branch do not apply I think. We either stop adding to 6.1 entirely in anticipation of the next release being 6.2 or we hedge and continue what we have done so far. In either case we make no branch.
I suppose I should reset the GMT_PUBLIC_RELEASE and update the version ticker anyway, right?

@seisman
Copy link
Member Author

seisman commented Sep 2, 2020

I suppose I should reset the GMT_PUBLIC_RELEASE and update the version ticker anyway, right?

You mean making the changes in the 6.1 branch, right? Do we need to do that? We may delete the 6.1 branch or totally freeze it.

@PaulWessel
Copy link
Member

Well, I guess is we agree we aren't doing 6.1 anymore then no point making any edits.

@PaulWessel
Copy link
Member

I am OK with that and I think we know @joa-quim is as well.

@joa-quim
Copy link
Member

joa-quim commented Sep 2, 2020

Ofc, but let 6.1.1 alone for a couple of weeks. We never know if something bad wont call fora quick 6.1.2.

I am not against point releases. I'm just against making releases that don't release everything we have at the moment.

@seisman
Copy link
Member Author

seisman commented Sep 3, 2020

Ping @holishing. GMT 6.1.1 is released. Please update AUR when you have time.

@holishing
Copy link
Contributor

AUR updated.

@seisman
Copy link
Member Author

seisman commented Sep 6, 2020

All done. Closing.

@seisman seisman closed this as completed Sep 6, 2020
@seisman seisman unpinned this issue Sep 9, 2020
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

4 participants