For this repository, the deploy pipeline follows these steps:
- Merge a working branch to
develop
branch => triggers a deploy to Acquia dev environment - Merge
develop
branch intomaster
branch => triggers a deploy to Acquia stage environment - Manually deploy from
Acquia Stage
toAcquia Production
- Merge
master
branch intoproduction
branch => nothing is triggered
After the final step of the deployment pipeline, the lead developer must tag and release the production branch so that the Project Manager/s can complete their Release Notes.
When the code on stage
is deployed to Acquia, take note of the tag automatically applied by Acquia (typically tags/yyyy-mm-dd)
Once the master
branch is merged into the production
branch, then:
- goto the release section of the repository,
- note the last release number, it will be in the format v9.2023.n - where 9 is current Major Drupal version; 20XX is the year; n is a number which increments with each release
- click the "Draft a New Release" button
- click on "Choose a Tag" and create a new tag with the same name as the Acquia Tag (i.e. tags/yyyy-mm-dd)
- ensure the Target is the
production
branch - give the release a title. Assuming the Major Drupal version has not changed, and the year has not changed, this will just be adding 1 to n from step 2 above (e.g. the current latest release is v9.2023.12, then this release's name will be v9.2023.13.)
- in the Description, copy and paste in the template below, then click the
Generate release notes
button to append the commits to be bottom of the textbox. Update the "Jira Tickets` section with all tickets that have been addressed in this release. - click "Set as the latest release",
- click the
Save draft
button.
The Project Manager will edit the draft release notes, finalize and publish them.
- goto the release section of the repository,
- edit the latest draft release,
- update the [PM to complete] block with narrative related to the release,
- click "Set as the latest release",
- click the
Publish release
button.
A Github action will now fire which will post a message to the slack #jira-releases channel.
## [Copy title of production PR]
### Release Notes
[PM to complete]
### Related Jira tickets
[Add a list of Jira Tickets addressed in this Release, with links to the Jira website]
example: Dig-1839 - [Update residential exemption application in Assessing Online](https://bostondoit.atlassian.net/browse/DIG-1839)
### Acquia tags
[add in the acquia tag]
- In Jira create a release with the following convention RepositoryName/release version (e.g. boston.gov-d8/v9.2023.2)
- The release description should include what was updated and a link to the release notes (e.g. Boston.gov code updatesRelease Notes)
- Attached release fix version to tickets before releasing the tickets.