VOL-APP Release Documentation
This document explains the release process for the VOL-APP application.
Prerequisites
- All required changes (including any from olcs-etl) are already merged into main.
- A Release-Please Pull Request (PR) is open for the next version (e.g., v5.20.1).
Standard Release Steps
-
Merge the pending Release-Please PR into main.
- This compiles conventional commit messages into the changelog and triggers a new semver release (e.g. v5.20.1).
- The CD pipeline will detect the “release” context and proceed in release mode.
-
CD Pipeline Deploys to Nonprod
- Builds, tests, and deploys to dev, then int. Smoke tests run in dev.
- Smoke tests and regression tests run in int.
-
Deployment to prep (Production Account)
- Pipeline then deploys to the pre-production (prep) environment.
- Further smoke tests are run in prep.
-
Manual Approval for Production
- Pipeline pauses before deploying to prod.
- An authorised reviewer approves in GitHub, then the pipeline proceeds.
- Terraform, migrations, and final deployment to prod happen. No automated tests run on prod.
-
Release Completed
- The final semver release (v5.20.1) is now live.
- Future changes will form a new release.
Roles and Responsibilities
vol-app developers / platform engineers
- Modify app code, Terraform, Dockerfiles, etc., to add features or fix bugs
- Merge the Release-Please PRs for standard releases
vol-app QAs
- Manage and monitor automated tests run by the pipeline
- Perform additional manual testing in the relevant environments
DVSA staff
- Perform UAT in
prep
- Prepare acceptance reports or any relevant validation
TSS staff
- Verify that testing and UAT are complete
- Approve progression to
prod
as authorised reviewers, if satisfied