2023-03-30 Craft/Magento Release

Release Info:

Change Management ticket: https://relias.atlassian.net/browse/CHM-3460

Jira Release: https://relias.atlassian.net/projects/PAP/versions/33303/tab/release-report-all-issues https://relias.atlassian.net/projects/PAP/versions/33307/tab/release-report-all-issues

Release Owner: @Adrian Alston (Deactivated)

Testing Assignment spreadsheet (Check ALL 4 TABS to see if any are assigned to you.)

Prerequisites:

Ongoing, beginning the last day of the sprint:

Create PRs from feature branches to staging for all tickets tagged in the release as they reach Ready for Stage Deployment status.
Post links to the PRs in a highly visible channel to signal to team members that they’re ready for reviewRun deploy scripts as needed and move tickets to Ready for Stage Testing status

Once Staging PRs are approved, during staging verification:

All code merged to Staging branch at least 2 business days before release
Tickets with configurations are assigned to developers
CHM ticket is created by Release Owner
Confirm fix version is applied to all tickets to be released. Use No Release Impact fix version for tickets with no code or user-facing changes.

If the staging deploy of Craft or Magento took longer than usual, communicate this to the team and discuss scheduling the release call for everyone.

If deployment will take substantially more time than ~20 minutes, please consider starting the release call with Manager, PM, Release Owner, QA Team Lead. Once the deployments are complete, open the release call to the rest of the team for testing and debugging.

Day of:

Clean Stable build on Stage, not updated since testing period began
All tickets in “ready to release” status
CHM approval given by Default reviewer - usually Matt
Create PRs for deploy
PRs are approved and code is merged into production branch on our repository
Message in the #sprint-releases channel that the release is beginning

Pre-Deploy:

Recent Automated tests run and results verified
Clear Queue List in servers before Deployment

Configuration Items:

Code Deploy:

push to Cloud Remote and Tag*
git push cloud production:Production git tag -a CHM-3460 -m "03/30/23 Magento-Cloud Release" | git push --tags # cd to craft repo, checkout+pull production then: git tag -a CHM-3460 -m "03/30/23 Craft Release" | git push --tags

*Sample snippet only, code deploy owner to verify prior to release. Do NOT trust the release owner.

Post Deploy Release Procedure:

Restart craft queue daemon, and release all queue jobs if stuck ( sudo systemctl restart craft-queue )
Flush Magento cache after configs are complete
Ask systems-management to clear the Cloudflare cache
For FCME: No flush needed
Release Owner: Notify team to Start Testing
Start Automated Tests:
CE-ProdfreeCME-ProdReliasMedia-Prod
All tickets functionally tested & set to “Done” status if passed
Automated tests run and results verified
Close feature branches for all tickets included in the release.
Create PR from production back to integration for Craft and Magento
If there is no change (No release fixes) then skip.
Magento 2 PR - Not needed
Craft PR - Not needed
Mark Jira Release as Released
Mark CHM ticket as Complete
Refunds processed in Magento Admin for all testing transactions
PM: Notify Stakeholders via email that release is complete.
Release Owner: Notify Stakeholders in ReliasEcom sprint_releases Slack channel that release is complete.