Skip to content

Release Process

Sean McIlvenna edited this page Oct 19, 2021 · 14 revisions

With access to Lantana's DEVOPS and JIRA

  1. Generate help documentation from HND (HelpNDoc) file and update the code. Make sure the HND file's options have the correct version.
    • Make sure the HND options has the correct version in it
    • Generate help docs in the following formats: chm, html, word, pdf, epub
    • The output of each generated format should go to: <tof-root>\apps\client\src\help\
    • Update the 'What's New' page with the list of tickets being addressed in this release
  2. Make sure the package.json has the correct version listed
  3. Run npm i to update package-lock.json with the correct versions
  4. Commit any changes resulting in steps 1-3 for "Preparing for release vX.X.X" to the "development" branch
  5. Merge and push the changes from "development" into "master" branch
    • Don't forget to switch your development environment back to the "development" branch
  6. Create a release for "Main Release" in Azure DevOps.
    1. Copy the release notes from JIRA to the "Release Description". Use the HTML notes, don't use the Markdown; it doesn't translate as nicely into the GitHub release.
    2. Specify the ImageTag property to match "vX.X.X" (where X.X.X matches the package.json version)
    3. Select the most recent commit under master that was merged from development
  7. In GitHub, see the draft release, confirm that it looks correct, and publish the draft release.
  8. In JIRA, release the existing version and create a new version for the next release.

Notes:

  • User doing the release must be in "Endpoint Administrators" and "Project Contributors" in Azure DevOps
  • User doing the release must be an admin of the JIRA project to "Release" the version

Without access to TeamCity automated builds

  1. Make sure version is correct in package.json
  2. Make sure documentation is updated to reflect "What's new"
  3. Build and package the app from source code
    1. Run npm install
    2. Run ng build --prod
    3. Run ./node_modules/.bin/gulp --gulpfile gulpfile-package.js
    4. ZIP up everything in the "dist" directory as "dist.zip"
    5. Manually deploy the distribution zip to the public server.
  4. In JIRA, "Release" the version with today's date.
  5. Tag the code in GitHub with "vX.X.X". Push the tag to GitHub
  6. In GitHub, create a new release for the tag.
    1. Download the ZIP file last produced by TeamCity's "build/test/package" build.
    2. Attach the ZIP to the release in GitHub.
    3. Go to JIRA, select the "Release" and click "Release Notes". Copy/paste the release notes HTML to the GitHub release notes.
    4. Save the release in GitHub.