Skip to content

Draft release deployment workflow

jbukhari edited this page Aug 16, 2023 · 7 revisions

Release workflow

note: the roles of Maintainer and Dev can be one or more people.

  1. Maintainer creates a milestone to collect issues targeted for the release.
  2. Devs issue PRs to close each issue.
  3. Maintainer + devs do review/test process of each PR and merge each to master.
  4. When all the issues in the milestone have been closed, maintainer creates a QAT release from the master branch using the established naming and description conventions.
  5. Maintainer deploys the app to QAT using the release tag.
  6. Maintainer ensures any required admin tasks are run in the QAT database (may not apply if no admin tasks are necessary).
  7. Maintainer notifies QAT users (UX Checkin participants) that the QAT deployment has been updated by sharing the link to the release.
  8. QAT testing:
    1. Identify any changes that are not implemented as expected/have bugs
    2. Identify any regressions (things that were working before but have broken with the latest release)
    3. If any issues are identified as a result of QAT testing:
      1. Create new issues for each.
      2. Create a new milestone encompassing these issues, representing a new incremental release.
      3. Return to step 1.
  9. Maintainer confirms QAT release has passed QAT testing.
  10. Maintainer consults with QAT users to determine if UAT deployment is desired. If so:
    1. Maintainer creates a UAT release from the QAT release tag
      1. Maintainer deploys the app to UAT using the release tag
      2. Maintainer ensures any required admin tasks are run in the UAT database (may not apply if no admin tasks are necessary).
      3. Notify QAT users that the UAT deployment has been updated by sharing the link to the release. QAT users will inform UAT users of the UAT testing procedure
    2. Identify any changes that are not implemented as expected/have bugs that were not caught in QAT testing
    3. Identify any regressions (things that were working before but have broken with the latest release) that were not caught in QAT testing
    4. If any issues are identified as a result of UAT testing:
      1. Create new issues for each.
      2. Create a new milestone encompassing these issues, representing a new incremental release.
      3. Return to step 1.
  11. Maintainer confirms UAT release has passed UAT testing.
  12. Maintainer creates a Production release from the master branch.
  13. Maintainer deploys the app to the Production environment using the release tag.
  14. Maintainer ensures any required admin tasks are run in the Production database (may not apply if no admin tasks are necessary).
  15. Notify all stakeholders the Production deployment has been updated.
Clone this wiki locally