EPICS Base Release Procedures Checklist

$Id: ReleaseChecklist.html,v 1.1.2.7 2006/11/30 21:50:14 anj Exp $

This document is a checklist of things that must be done when creating a new release of EPICS Base. Additions and ammendments to this list are welcome.

The Release Process

The version released on the Feature Freeze date is designated the first pre-release, -pre1. The first Release Candidate -RC1 is the first version that has undergone widespread testing and which has no known problems in it that are slated to be fixed in this release. New versions should be made at about weekly intervals during the testing and debugging process, and will be designated as either pre-release versions or Release Candidates by the Release Manager. A Release Candidate that has received widespread testing for a week without any additional problems being discovered or CVS commits being made can be designated as the final release.

Roles

The following roles are used, in addition to the names of individuals who have been responsible for specific tasks in the past:

Release Manager
Responsible for the release
Platform Developers
Responsible for individual operating system platforms
Check Who Description
Preparing for a release
  Release Manager Email all developers about the upcoming release and ask for a list of remaining jobs that must be finished.
  All developers Check the Mantis bug tracker for any outstanding items and handle appropriately. All bugs that have been fixed should have been marked as resolved.
  Release Manager Set the Feature Freeze date, by which time all CVS commits for enhancements and new functionality should have been completed. After this date, commits should only be made to fix problems that show up during testing.
  Release Manager &
all developers
Ensure that documentation will be updated before the release date:
  • Application Developers Guide
  • Release Notes
  • Known Problems
  • Other documents
Creating pre-release and Release Candidate versions
  Janet Anderson Edit and commit changes to the EPICS version number file configure/CONFIG_BASE_VERSION.
  Janet Anderson Tag the module in CVS. Pre-release version tags take the form Rx-y-z-pren while Release Candidate tags take the form Rx-y-z-RCm.
  Janet Anderson Export the tagged version and create a tarfile of the result:
cvs export -kv -d base-x.y.z-pre1 -r Rx-y-z-pre1 epics/base
tar cfz baseRx.y.z-pre1.tar.gz base-x.y.z-pre1
  Janet Anderson Test the tar file by extracting its contents and building it on at least one supported platform
  Janet Anderson Copy the tar file to the Base download area of the website
  Andrew Johnson Create or update a website subdirectory to hold the release documentation, and copy in the files from the base/documentation directory of the tarfile.
  Andrew Johnson Create or modify the webpage for the new release with links to the release documents and tar file. Pre-release versions should use the page and URL for the final release version number.
  Andrew Johnson Add the new pre-release tar file to the website Base download index page.
Testing
  Platform Developers Run the Soft IOC tests from mrkSoftTest on all available platforms.
  Platform Developers Check that all makeBaseApp templates build and run properly, all xxxApp and xxxBoot types and any internal options, e.g. setting STATIC_BUILD=YES in the configure/CONFIG_SITE.
  Platform Developers Build the SNL Sequencer against this version of Base, and check that the makeBaseApp example builds and runs correctly with it.
  Marty Kraimer Run the VME I/O tests in mrkHwdTest on all available vxWorks VME platforms.
  Jeff Hill Run the CA client side regression tests on all available host platforms.
  Release Manager Check that documentation has been updated:
  • Application Developers Guide
  • Release Notes
  • Known Problems (hopefully empty)
  • Other documents (converting...)
Release Approval
  Release Manager Obtain a positive 'Ok to release' from all platform developers when a Release Candidate version has gone a whole week without any issues being reported.
Creating the final release version
  Janet Anderson Edit and commit changes to the EPICS version number file configure/CONFIG_BASE_VERSION.
  Janet Anderson Tag the module in CVS. Official base release version tags take the form Rx-y-z[-n]
  Janet Anderson Export the tagged version and create a tarfile of the result:
cvs export -kv -d base-x.y.z -r Rx-y-z epics/base
tar cfz baseRx.y.z.tar.gz base-x.y.z
  Janet Anderson Test the tar file by extracting its contents and building it on at least one supported platform
  Janet Anderson Copy the tar file to the Base download area of the website
  Andrew Johnson Update the website subdirectory that holds the release documentation, and copy in the files from the base/documentation directory of the tarfile.
  Andrew Johnson Update the webpage for the new release with links to the release documents and tar file.
Announce it
  Andrew Johnson Add the new release tar file to the website Base download index page
  Andrew Johnson Link to the release webpage from other relevent areas of the website - update front page and sidebars
  Andrew Johnson Add the new Version number to the Mantis bug tracker
  Andrew Johnson Close all Mantis bug reports that were marked as resolved and which have been fixed in this release
  Release Manager Email tech-talk
  Andrew Johnson Add an entry to the website News page, linking to the new version webpage