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.5.0 #8017

Closed
50 of 53 tasks
PaulWessel opened this issue Nov 5, 2023 · 93 comments
Closed
50 of 53 tasks

Release GMT 6.5.0 #8017

PaulWessel opened this issue Nov 5, 2023 · 93 comments
Assignees
Milestone

Comments

@PaulWessel
Copy link
Member

PaulWessel commented Nov 5, 2023

Version: 6.5

Scheduled date: Jan, 5, 2024

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 the version information in CITATION.cff
  • check installation instructions in install.rst
  • 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)
  • create macOS bundle (@PaulWessel)
  • create Windows win64 installer (@joa-quim)
  • create Windows win64 portable (@joa-quim?)
  • check if the source tarballs for Linux work well (@Esteban82, @anbj)
  • check if the macOS bundles work well (@seisman, @maxrjones)
  • check if the Windows installers work well (volunteers needed!)
  • 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)
    # checkout master (for minor releases) or 6.x branch (for patch releases)
    git checkout XXXX
    # create the tag 6.5
    git tag6.5
    # 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
  • make announcements on the GMT Instagram
  • update links on the main site (Download & Documentation) Bump to GMT 6.5.0 website#150
  • update install instructions on the wiki if needed

After release:

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!)
@PaulWessel PaulWessel added this to the 6.5.0 milestone Nov 5, 2023
@Esteban82
Copy link
Member

Esteban82 commented Nov 5, 2023

When we update/release the new remote datasets?

@PaulWessel
Copy link
Member Author

Yes, we should be able to release the datasets the same day.

@PaulWessel
Copy link
Member Author

We should probably add a tickbox for "Updating all new remove data to main oceania server".

@seisman seisman pinned this issue Nov 15, 2023
@PaulWessel
Copy link
Member Author

I suggest we aim for 6.5 release on Dec 1, otherwise we'll not get there in 2023. I know there are outstanding issues with bugs but there always are. No way to fix everything unfortunately. We can always to a 6.5.1 if there are good reasons after fixing some bugs.
@maxrjones, might you be able to help with the ChangeLog again?

@maxrjones
Copy link
Member

@maxrjones, might you be able to help with the ChangeLog again?

Yes, no problem. do you anticipate any noteworthy changes between now and Dec 1?

@PaulWessel
Copy link
Member Author

Want to update the gsfml repo but trouble. Wonder is one of our CMake experts can help?

@PaulWessel
Copy link
Member Author

@maxrjones, might you be able to help with the ChangeLog again?

Yes, no problem. do you anticipate any noteworthy changes between now and Dec 1?

Sorry the delay... Since Dec 1 is tomorrow I think so. Maybe wait to do anything until I post again here.

@maxrjones
Copy link
Member

maxrjones commented Nov 30, 2023

I suggest we aim for 6.5 release on Dec 1, otherwise we'll not get there in 2023. I know there are outstanding issues with bugs but there always are. No way to fix everything unfortunately. We can always to a 6.5.1 if there are good reasons after fixing some bugs.

No worries if people aren't available in Dec such that this isn't a possibility, but I wanted to float the idea of a Dec 15 release date so that it's after AGU and there's no chance of accidental regressions causing issues for presenters before the conference.

@PaulWessel
Copy link
Member Author

Yes, good idea. In the olden days we often released closer to AGU and caused panic!

@joa-quim
Copy link
Member

joa-quim commented Nov 30, 2023

I don't think the AGU argument makes much sense anymore (and people only update GMT if they want/know-how). I would rather get it out before 8 December.

@PaulWessel
Copy link
Member Author

PaulWessel commented Nov 30, 2023

It is true that now we have close to 1200 tests while in the olden day we would make code changes, have no tests, and then gotten bitten by various issues, often on different platforms. Of course, nobody is forced to update software a few days before AGU. I know many who wait weeks and months and even years to update their macOS version, so it is always buyer be aware (caveat emptor).

@remkos
Copy link
Contributor

remkos commented Dec 1, 2023

I agree that AGU is no longer an argument. Also, with all the package installers, reverting becomes trivial. Let's set our own release dates that are convenient for all.

@PaulWessel
Copy link
Member Author

We should just pick a date and stick to it. We have yet to release a GMT version that did not have known bugs the we did not get fixed in time. We cannot wait for a miracle that fixes all our bugs, so better to release a 6.5 that is superior to 6.4 so that those who need official releases can benefit.

I suggest Friday Dec. 8. Is there any of you that are able to build the macOS bundle for Intel?

@joa-quim
Copy link
Member

joa-quim commented Dec 1, 2023

We could start building it today no?

@PaulWessel
Copy link
Member Author

I am thinking of adding the GSFML (Global seafloor fabric and magnetic lineations) as an optional supplement (or maybe just another supplement) since people are having trouble making it from Cmake, such as ME!...
I will make a branch to see if this is a 1-day job or longer.

@joa-quim
Copy link
Member

joa-quim commented Dec 1, 2023

I also would like to merge the shakemap branch. Not used since I wrote it but it worked back than and I hate to loose good(?) code. Branch has docs and builds fine. No tests though.

@PaulWessel
Copy link
Member Author

Hi @maxrjones, no more new things will be added to GMT after both @joa-quim (grdvs30 and grdshake added to seis supplement) and I (added gsfml supplement) have done our thing. Safe to do ChangeLog now.

@maxrjones
Copy link
Member

Hi @maxrjones, no more new things will be added to GMT after both @joa-quim (grdvs30 and grdshake added to seis supplement) and I (added gsfml supplement) have done our thing. Safe to do ChangeLog now.

Sounds good, I'll be able to do this later today. BTW I no longer have an intel mac.

@PaulWessel
Copy link
Member Author

Right, and I have one in Hawaii I so far have been unable to update macports on...
Does anyone else on this post have access to an Intel mac?

@remkos
Copy link
Contributor

remkos commented Dec 7, 2023

I do. And I can do the macports Portfile update, unless @seisman gets there first.

@maxrjones
Copy link
Member

@PaulWessel I am assuming we're not going to include all the longoptions updates in the changelog and will just have announce them all once complete - is this correct?

@PaulWessel
Copy link
Member Author

No, no word about long-options until GMT 7 probably.

@PaulWessel
Copy link
Member Author

BTW, after much yelling and cursing I finally got mac port to install GDAL... SO looks like I can build the installers but I will ask several people to try so they know what to do.

@seisman
Copy link
Member

seisman commented Jan 7, 2024

The win64 installer is likely incorrect.

Win installer and portable

https://fct-gmt.ualg.pt/tmp/GMT5/gmt-6.5.0-win64.exe 0B4D47058E0B00F20A467DBA260AAB6238B705E8C6C6FA5B0D7FB237410532E2

https://fct-gmt.ualg.pt/tmp/GMT5/gmt-6.5.0-win64.zip DE7E05F87896FFB87E73F24EFB2FE21BE608CDED02AE0C3569652866E1448658

This is the sha256sum from @joa-quim, but the one on the GMT FTP has:

e2253092cea91ce72adf994fdbbb51b2703b3406c2feb36410e79f9e0aac8990  gmt-6.5.0-win64.exe

@PaulWessel
Copy link
Member Author

Not sure how that happened but use @joa-quim's numbers (and even file if in doubt).

@seisman
Copy link
Member

seisman commented Jan 7, 2024

I've made the 6.5.0 release at https://github.com/GenericMappingTools/gmt/releases/tag/6.5.0, using @joa-quim's files and sha256sums in #8017 (comment).

Apprarently, @joa-quim edited the sha256sum numbers yesterday:
image

e2253092cea91ce72adf994fdbbb51b2703b3406c2feb36410e79f9e0aac8990 is the old sha256sum number. It means the one on the GMT FTP is the old one.

@PaulWessel Please download the latest win64 installers (both the exe and the zip) from #8017 (comment) and upload them to the FTP server again.

@PaulWessel
Copy link
Member Author

The two Win binary files have been placed in the gmt ftp on SOEST ftp server and should have correct permissions.

@PaulWessel
Copy link
Member Author

PaulWessel commented Jan 7, 2024

I guess next steps are

  1. Approve and merge Update docs for remote datasets remote-datasets#113.
  2. Update oceania server with files from candidate (@PaulWessel or @Esteban82).
  3. Website already updated with links to 6.5 so nothing to do there
  4. Instagram post announcing 6.5 and massive addition of remote data set (@Esteban82 ?)
  5. Twitter (X) post announcing the same things (@maxrjones ?)
  6. News item on the Forum Announcement page (@PaulWessel)

@seisman
Copy link
Member

seisman commented Jan 7, 2024

FYI, I've uploaded the tarball to Zenodo. The new record is at https://zenodo.org/records/10119499.

@PaulWessel
Copy link
Member Author

I added a news item on the forum under Announcement. Feel free to edit if my links are off...

@Esteban82
Copy link
Member

Paul, do you want me to do this?

  • Update oceania server with files from candidate

@PaulWessel
Copy link
Member Author

Sure. Forst do a git pull as I have made two changes:

  1. Renamed srv_server-release.sh to just server-release.sh (in scripts folder to match the other *-release names)
  2. Remove the temporary echo statement that prevents the final command to execute (that ssh on the script in /tmp).

Since you did test-release.sh earlier and this is very similar except using server we should be good to go, and if anything goes wrong we have all the files we need still in candidate. Please go ahead.

@PaulWessel
Copy link
Member Author

So should just be

make server-release

which runs the right script.

@Esteban82
Copy link
Member

@PaulWessel I am affraid I can't do it

-bash-4.2$ pwd
/tmp
-bash-4.2$ ls -la release.sh 
-rwx--x--x 1 pwessel gmt 602 ene  7 03:14 release.sh
-bash-4.2$ bash release.sh 
bash: release.sh: Permission denied

@PaulWessel
Copy link
Member Author

Sorry, I need to delete that first. Hold a few seconds.

@PaulWessel
Copy link
Member Author

OK, gone , should work now.

@Esteban82
Copy link
Member

Esteban82 commented Jan 7, 2024

Now I could run it.

I am getting a lot of messages like this:
I would say that for every directory.

rsync: failed to set times on "/export/gmtserver/gmt/data/server/.": Operation not permitted (1)
rsync: failed to set times on "/export/gmtserver/gmt/data/server/earth": Operation not permitted (1)
rsync: failed to set times on "/export/gmtserver/gmt/data/server/earth/earth_day": Operation not permitted (1)

@PaulWessel
Copy link
Member Author

PaulWessel commented Jan 7, 2024

Yes, I think they are harmless. This is what Ross told me I think: If I (or you) create some files then the other person cannot change permissions etc and get these types of messages. Probably rsync info that gets messed up.

I expect the solution is to have a single user (e.g., [email protected]) that we both use when doing server work. In fact, it would be inserted into the various scripts.

I also need to but EarthScope Consortium about taking over the hosting of these data since at some point teh SOEST server will get old and die (and me too!) so then we need to have bus-factor protection for this part of GMT. I will look into who I should contact.

Please check if you see anything funky regarding to permissions on oceania now, and if you can run plots from oceania and not set candidate server first.

@Esteban82
Copy link
Member

It finished. This was the last message.

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]

I test the oceania server and it is working fine.

@PaulWessel
Copy link
Member Author

I am struggling a bit with making a USA map:

gmt grdimage @earth_relief_02m -B -RUS -png map
gmt [WARNING]: gmt_get_dataset_tiles: No earth_relief_02m_p tiles available for your region.
grdimage [ERROR]: Grid x range <= 0.0
grdimage [ERROR]: Make sure west < east for geographic coordinates
grdimage (gmt_api.c:2126(gmtapi_init_grdheader)): Please select compatible -R and -I values
grdimage [WARNING]: Your grid x's or longitudes appear to be outside the map region and will be skipped.
grdimage [WARNING]: No grid or image inside plot domain

but works fine for Argentina, for example.

@Esteban82
Copy link
Member

I am struggling a bit with making a USA map:

I can't either. I could with 06m.

gmt grdimage @earth_relief_06m -B -RUS -png map

@Esteban82
Copy link
Member

I just made the annoucement on instagram (https://www.instagram.com/p/C10k8Q9MN-m/).

BTW, I think that we should announce also the new remote data sets available. I am thinking that I figure similar to this would be good. Could you do it @PaulWessel ?

https://www.instagram.com/p/CaFJFieLJ2y/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==

@Esteban82
Copy link
Member

I check it on windows and looks fine.

@remkos
Copy link
Contributor

remkos commented Jan 8, 2024

  1. Remko and I could setup a zoom or async work on debugging the dvc issues

Thanks @maxrjones . I just installed the latest dvc with Python 3.12 and it suddenly works. I was not able to get any downloads in the past, despite getting no error message from dvc pull. But as said: this suddenly seems to have repaired itself.

@seisman
Copy link
Member

seisman commented Jan 9, 2024

Do we still want to do this? I think so, we have more than 1000 followers on Twitter.

@seisman
Copy link
Member

seisman commented Jan 12, 2024

Close it if no one cares about Twitter.

@seisman seisman closed this as completed Jan 12, 2024
@seisman seisman unpinned this issue Jan 12, 2024
@PaulWessel
Copy link
Member Author

Any one care about Must and X? @leouieda, @maxrjones , or @Esteban82 ?

@maxrjones
Copy link
Member

Any one care about Must and X? @leouieda, @maxrjones , or @Esteban82 ?

I don't have interest in X

@Esteban82
Copy link
Member

Me neither.

@PaulWessel
Copy link
Member Author

OK, whoever wants to can remove the Twitter reminder from our checklist.

@seisman
Copy link
Member

seisman commented Jan 14, 2024

OK, whoever wants to can remove the Twitter reminder from our checklist.

Done and pushed directly to the master branch.

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

7 participants