Deployment Policies
Last Updated:
Deployment Strategy
We intend to keep our repositories always deployable from the primary branch. The deployment schedule below describes when deployments typically happen, but deployments from the primary branch may occur at any time. VA.gov does not use release branches; instead, we maintain a focus on keeping the primary branch healthy.
For finer control over when your checked-in feature is released, see Feature toggles guide.
Automated Deploys
See schedule here: https://depo-platform-documentation.scrollhelp.site/developer-docs/deployments
Exceptions to automated deploys
If there are days or periods of time when many people will be out of the office (i.e. holidays) the automated deploys will be suspended. If people aren’t in the office to support the code going out, it’s not responsible to release.
Note: This only applies to automated deploys. Engineer-initiated deploys (e.g. to address a critical bug) will be allowed to proceed as usual.
Holiday release freeze schedule
During holiday release freezes:
Automated deployments to production and sandbox environments will not occur.
Teams can still continue to merge code to main or master branches. This will continue to be deployed through development and staging environments during the release freeze time frame.
All code deploys require approval via the "Requesting out-of-band-deploys" process below.
Content-only deploys will continue as normal, but support will be limited.
Limited support will be available from the Platform team.
There may be a change in this policy as VA dictates.
The holiday release freeze is in effect during the following dates:
2024
1/15/2024 - Martin Luther King Jr. Day
5/27/2024 - Memorial Day
6/19/2024 - Juneteenth
7/4/2024 - Independence Day
9/2/2024 - Labor Day
11/11/2024 - Veteran's Day
11/28 - 11/29 - Thanksgiving
12/23 - 1/3/2025 - Holiday Freeze
Requesting out-of-band deploys
If there is a critical issue that needs to be resolved outside the automated deployment schedule, explicit permission must be granted for an out-of-band deploy.
Open an OOB Deploy Request Issue Ticket and verify each of the tasks.
For recommended approaches to issue resolution (i.e. when to revert, when to fix forward), see Resolving critical issues.
For every out-of-band deploy requested, the Platform team will expect a follow-up postmortem from the requesting team, explaining the context that led to the problem and proposing follow-up actions to prevent similar future problems.
Is my issue critical?
Examples of critical issues include:
A bug that’s preventing a significant number of Veterans from accessing a feature
A bug creating a non-trivial deviation from expected functionality
A 508/accessibility failure of severity level 0 (Showstopper) or 1 (Critical) (severity rubric)
Examples of non-critical issues include:
Incorrect text or visual formatting that does not impede the feature from working
Any code for features not yet released to Veterans
Just wanting to get code out sooner
When in doubt on whether an issue is critical enough for out-of-band deployment, OCTO-DE leadership for the Platform will decide.
Step-by-step process for out-of-band deployment approval
Open a support request in #vfs-platform-support using
/support
Assign to the team who manages the code needing deployment (Release Tools, Console Service Team, etc).
Select “Off-Cycle Deployment“ for the nature of the request
Include a summary of the issue, severity, and user impact
User impact should include the number of users affected.
Platform support staff (Tier 1 if available, otherwise Tier 2 or on-call as applicable) triggers PagerDuty using
/pd trigger
. This will notify the relevant octo-de platform staff, which is required for the next stepSelect “Out-of-band Deployment (service).
Leave “Assign to” blank
Put the summary, severity, and user impact from the Slack support ticket in the description, as well as a link to the #vfs-platform-support Slack thread.
The deployment request must be approved (or declined) by octo-de platform staff before it may proceed.
If approved, the Platform support staff will perform the deploy.
Within two business days of this incident open a PR with a postmortem using this template and with the steps outlined in the included README.md.
Help and feedback
Get help from the Platform Support Team in Slack.
Submit a feature idea to the Platform.