Deployment Process
Pull Request Preview Deploymentsโ
When a pull request is opened a preview deployment is automatically created in Oxygen and added to the PR with a Github action. This preview deployment will be connected to our staging environments.
Main Deploymentsโ
Once a pull request has been approved, it will get merged into main kicking off a Github action that deploys main to our staging environment.
QA Deploymentsโ
The team rotates release prep on a weekly basis. At the end of every day, the engineer on on release duty will create a QA deployment with the following steps:
- Create a draft release within Github
- Set a Semver tag
- Generate release notes automatically
- Publish a pre-release
Once the release is published, this will automatically start a Github action to deploy our release to our QA environment. The action also utilizes a Claude integration to reorganize the release notes by type, update the Github release description, and post the deployment and release notes to the #website-releases Slack channel.
Production Deploymentsโ
Each morning, the Engineering Manager will review the QA deployment. First the EM will validate all new items within the release, and then the EM should follow a standard regression test. This should include all critical flows including (not exhaustive list):
- Homepage content and functionality
- Navigation content and functionality
- Search functionality
- Dress PLP display, filtering, and sorting
- Dress PDP color change
- Dress PDP swatch ATB
- Dress PDP google UTM carousel
- MTO Dress ATB
- RTS Dress ATB
- Swatch PLP ATB
- Swatch PDP ATB
- Suits PLP display and filtering
- Suit ATB
- Separates ATB
- Cart survey
- Footer content
- Swatch PLP ATB and content
Once the QA deployment has been validated, the EM will run the release Github action to deploy the latest tagged main version to production. This action will also post to the #website-releases channel once production has been successfully deployed.