Deployment Policies
Last Updated: August 25, 2025
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:
2025
1/9/2025 - National Day of Mourning (White House Executive Order)
1/20/2025 - Martin Luther King Jr. Day
5/26/2025 - Memorial Day
6/19/2025 - Juneteenth
7/4/2025 - Independence Day
9/1/2025 - Labor Day
11/11/2025 - Veteran's Day
11/27/2025 - 11/28/2025 - Thanksgiving
12/22/2025 - 1/5/2026 - 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.
Off Hours Deploy (OHD)
There are instances where teams require a deploy outside of the daily deployment window, but the request does not qualify for an Out Of Band (OOB) deploy. These requests often require more attention and carry a higher risk, making them unsuitable for the daily deploy process.
To streamline the handling of these requests, we have defined the Off Hours Deploy (OHD) process. These requests should be planned well in advance whenever possible. This process ensures that such deploys are properly planned and coordinated to reduce risks and ensure the right support is available.
Steps to Submit an Off Hours Deploy Request:
Initiate the Request
Create a Support Ticket in the #vfs-platform-support Slack Channel, using the “Off Hours Deployment” Request Topic.
Fill Out the Ticket Template
Open an OHD Request Issue Ticket and verify each of the tasks:
Description and Expectations: Outline what is being deployed and any specific goals.
Requesting Team: Identify the person and team making the request.
Date and Time: Specify the requested deploy date and time.
Platform Maintenance Window: Indicate if the deploy should be tied to a Platform Maintenance Window. If so, note the specific window.
Justification: Provide a reason for why this deploy cannot be handled within the daily deploy window or an OOB deploy.
Potential Support Needed: List any necessary support (e.g., Backend, Frontend, DevOps).
Coordination and Awareness
Once the OHD Request Ticket is complete, Tier 1 will engage by:
Ensuring team members are aligned with the proposed date and time.
Confirming the timing does not overlap with an existing Platform Maintenance Window (if applicable).
Assigning the request to the correct Support team as well as the specific T1 and T2 on-call person.
Help and feedback
Get help from the Platform Support Team in Slack.
Submit a feature idea to the Platform.