How to Make a Release

From OPeNDAP Documentation
Revision as of 20:00, 26 November 2018 by Jimg (talk | contribs) (Set Tasks for a Release)

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.
  2. Using the Kanban board, when we are ready to release, follow the process outlined below.
  3. Once done, close the board

1.1 Old process overview

To plan a sprint there are two basic sets of tasks: cleaning up the left over bugs that have accumulated during the past sprints and then working on a set of predictable tasks. This page lists those predictable tasks and some notes about the various releases. In the burndown chart built by Jira, there is a Time Spent column that tells how long each of the various tasks really took. While it's impossible to predict how long some of the stuff will take, previous performance is the best tool we've got, as they say...

2 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.

The tasks identified for Hyrax 1.15.1 and the time it took to complete them:

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.
Source release libdap
30m
Source release BES
3h 30m
Build OLFS release bundles
1h
Software packages on website
30m
Sign the packages
Do this by downloading the packages, signing and then uploading the .sig files - no need to upload the packages.
Update Hyrax release links on website
2h
Install the new server on test.opendap.org
2h
Update the info for the hyrax Docker container build in the Docker project on GiTHub


2.1 Old set of tasks

The tasks identified for Hyrax 1.12.2 and the time it took to complete them:

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.