Difference between revisions of "How to Make a Release"

From OPeNDAP Documentation
m (Overview)
m (Set Tasks for a Release)
Line 9: Line 9:
 
Only start this process with libdap, bes and OLFS ''master'' branches all building and passing their tests.
 
Only start this process with libdap, bes and OLFS ''master'' branches all building and passing their tests.
  
For a major release:
+
=== For a major release ===
;Security Review for libdap, BES and OLFS
+
# Security Review for libdap, BES and OLFS
;Write a new X.Y web page. See the [https://docs.opendap.org/images/f/fe/Admin_instructions.pdf 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.
+
# Write a new X.Y web page. See the [https://docs.opendap.org/images/f/fe/Admin_instructions.pdf 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).
  
The tasks identified for Hyrax 1.15.1 and the time it took to complete them:
+
=== For a minor release ===
;Update Hyrax release pages on website (4h): 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.
+
# 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 libdap: 30m
+
# Source release for libdap, BES and OLFS. Follow the itemized instructions for each.
;Source release BES: 3h 30m
+
# Make and upload the source distributions for libdap, BES and, OLFS - delay signing until later.
;Build OLFS release bundles: 1h
+
# 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.
;Software packages on website: 30m
+
# Update the info for the ''hyrax'' Docker container build in the Docker project on GitHub.
;Sign the packages: Do this by downloading the packages, signing and then uploading the ''.sig'' files - no need to upload the packages.
+
# Update the links on the web page made/copies/edited above. Test each link - source and binary. Once all of those work...
;Update Hyrax release links on website: 2h
+
# 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: 2h
+
# Install the new server on test.opendap.org
;Update the info for the ''hyrax'' Docker container build in the Docker project on GiTHub
+
# 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 ====
==== Old set of tasks ====
+
* Hyrax 1.12.2: The total time was planned as ''3w 1d 5h'' and turned out as ''1w 2d 2h 10m''.
The tasks identified for Hyrax 1.12.2 and the time it took to complete them:
+
* Hyrax 1.15.1: ''3d'' calendar time
;Verify CI build and fix as needed: 6h
 
;Security Review libdap & bes: 6h
 
;Security review OLFS: 1d
 
;Source release libdap: 30m
 
;Source release BES: 3h 30m
 
;Build OLFS release bundles: 1h
 
;Build RPMs for release: 3h 30m
 
;Software packages on website: 30m
 
;Update Hyrax release pages on website: 2h
 
;Install new sever on test.opendap.org: 2h
 
 
 
;Total time for these tasks used during Hyrax 1.12.2: 33h
 
 
 
We did 9 other tasks too during the hyrax 1.12.2 release. The total time was planned as ''3w 1d 5h'' and turned out as ''1w 2d 2h 10m''.
 

Revision as of 22:07, 26 November 2018

1 Overview

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.

  1. 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.
  2. When we are ready to release, follow the process outlined in the section below.
  3. Once done, close the board

2 Set Tasks for a Release

Only start this process with libdap, bes and OLFS master branches all building and passing their tests.

2.1 For a major release

  1. Security Review for libdap, BES and OLFS
  2. 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.
  3. Follow the remaining steps for a minor release (below).

2.2 For a minor release

  1. 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.
  2. Source release for libdap, BES and OLFS. Follow the itemized instructions for each.
  3. Make and upload the source distributions for libdap, BES and, OLFS - delay signing until later.
  4. 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.
  5. Update the info for the hyrax Docker container build in the Docker project on GitHub.
  6. Update the links on the web page made/copies/edited above. Test each link - source and binary. Once all of those work...
  7. 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.
  8. Install the new server on test.opendap.org
  9. Send out a notice.
  10. Close the Kanban board for the given release.
  11. Update and of the release checklists and the 'Time to complete...' information below.

2.2.1 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