Skip to content

Release development workflow

Dylan Rolfe edited this page May 3, 2018 · 23 revisions

Pre development

  1. Create a new draft release for the next release in the health.gov.au releases.

Development

  1. Create a new branch for your feature, named HT-101-short-desc
  2. Develop your feature or bug fix in that branch.
  3. Commit into HT-101-short-desc with detailed commit message eg. [HT-101] - Something meaningful to describe the change
  4. Apply the site building changes from the features to healthdev
  5. Write deployment notes for site building changes into the Jira/Octane ticket. These should contain enough information that any other Drupal dev could deploy it.
  6. Write help documentation for admins and authors into the Jira/Octane ticket.
  7. Update release notes on the health.gov.au releases.

Pre-release / testing

  1. At some point, decide on which features are ready to go into the release (need to work out a process for this)
  2. Merge all the feature branches into the develop branch, deal with any conflicts.
  3. Create a release branch from the develop branch, labelled release-1.2.3
  4. Clone healthdev to healthrelease using GovCMS sitefactory. Delete any previous release clones.
  5. Manage theme repository on healthrelease so it is using the new release branch.
  6. Clear cache
  7. Engineers to test and review the site to make sure all the features merged correctly.
  8. Notify the testers that they can begin testing on https://healthrelease-site.govcms.gov.au/
  9. Fix bugs found by testing and commit the fixes into the release-1.2.3 branch.

Production deployment

  1. Merge release-1.2.3 into master.
  2. Compile the sass and JS using the production configuration and commit into master.
  3. Create tag with the release label v1.2.3 on the master branch.
  4. Create a full backup of the production site which is needed for a rollback if deployment doesn't go to plan.
  5. Clone live site to health1x2x3
  6. Enable dual authoring notification on the live site (admin/appearance/settings/health_adminimal). Fill in the URL for the deployment environment.
  7. Notify content authors that the site is in dual authoring mode and that any content changes need to be made to both environments.
  8. Manage theme repository on health1x2x3 to point to the new release tag v1.2.3
  9. Clear cache
  10. Manually deploy site building changes to health1x2x3, detailed in the Jira/Octane tickets.
  11. Test the site is working correctly.
  12. Make primary health1x2x3.
  13. Notify product owner that the changes are live, include release notes.
  14. Disable dual authoring notification on the live site (admin/appearance/settings/health_adminimal).
  15. Notify content authors that content freeze is over.

Rollback

If there are errors that cannot be resolved in the deployment window:

  1. Restore the site from the backup.
  2. Manage theme repository on live site to point to the stable release tag.

Post deployment

  1. Create GovCMS request to change the name of the live site to 'Australian Government Department of Health'.
  2. Publish the release on health.gov.au releases
  3. Update help documentation on the live site for admins and authors.
  4. Download and archive the production tarball (described in Production deployment step 4) and save to the dedicated TRIM folder.
  5. Delete the release branch.
  6. Delete the release clone.
  7. Delete the old production site (TBC)
  8. Clone the production site into healthdev-site
  9. Merge master into develop