How to Make a Release
This is an updated set of notes regarding a software release. It is tailored to a release of Hyrax, but the same process can be used for any of our code.
- Look for any tickets that have been bound to the label 'fix release x.y.z' and make sure those are completed. Use the Kanban board.
- When we are ready to release, follow the process outlined in the section below.
- Once done, close the board
Set Tasks for a Release
Only start this process with libdap, bes and OLFS master branches all building and passing their tests.
For a major release
- Security Review for libdap, BES and OLFS
- Write a new X.Y web page. See the web site admin notes for info about this. It has important information about the menu links. Base this on the previous release page's structure/content.
- Follow the remaining steps for a minor release (below).
For a minor release
- Update the release page on website. For this, copy the X.Y page and make it X.Y.n. In the future, we might use only a single page for release X.Y and simply amend it with information for version .1, .2, and so on. Don't bother to edit the links, just get the text in place.
- Source release for libdap, BES and OLFS. Follow the itemized instructions for each.
- Make and upload the source distributions for libdap, BES and, OLFS - delay signing until later.
- Transfer the binary packages built using the CI/CD process. Do this by logging into the web site host using ssh and the opendap account. Then use curl -O ... to transfer the RPMs and Debian packages from our build.travis.opendap S3 bucket.
- Update the info for the hyrax Docker container build in the Docker project on GitHub.
- Update the links on the web page made/copies/edited above. Test each link - source and binary. Once all of those work...
- Sign the packages (source and binary). Do this by downloading the packages, signing and then uploading the .sig files - no need to upload the actual packages.
- Install the new server on test.opendap.org
- Send out a notice.
- Close the Kanban board for the given release.
- Update and of the release checklists and the 'Time to complete...' information below.
Time to complete by release
- Hyrax 1.12.2: The total time was planned as 3w 1d 5h and turned out as 1w 2d 2h 10m.
- Hyrax 1.15.1: 3d calendar time