Workflows
Release Train Workflow
Ship on a fixed cadence so releases are schedule-driven rather than feature-driven, improving predictability across teams.
- Teams turning commands into repeatable routines
- Readers who need sequencing, branch, and sync discipline
- Basic understanding of fetch, pull, push, and branches
- A sense of how and why branches diverge
- Copying a workflow without checking branch state
- Choosing the wrong integration path on shared branches
Release train is about predictability, not raw speed. Teams ship on fixed departure times so features catch the next train instead of moving the train itself.
Where this works best
- multiple teams share release dependencies
- release plans are frequently disrupted by late feature requests
- external stakeholders need reliable shipping timelines
Recommended implementation steps
1. Set train cadence
Example: one departure every two weeks with publicly known freeze points.
2. Define intake criteria
- feature complete and validated
- migration or docs ready
- risk assessment approved
Missed readiness moves to the next train by default.
3. Cut release branch and tag candidate
git switch -c release/2026w15
git tag -a v2026.15.0-rc1 -m "train 2026w15 rc1"
4. During train window, accept blocker-level changes only
Avoid opportunistic “while we are here” additions.
5. Ship on time and review train metrics
Track on-time rate and carry-over rate (items moved to next train).
Holding trains for extra scope destroys the very predictability the model is designed to provide.
Common mistakes
Mistake 1: delaying train to maximize payload
Train models optimize cadence reliability, not per-release fullness.
Mistake 2: no explicit intake criteria
This creates late-cycle negotiation and friction.
Mistake 3: tracking release count but not schedule reliability
Without on-time confidence, cadence is just noise.
- Choose a fixed release frequency.
- Define three to five intake gates.
- Define freeze point and exception path.
- Track on-time and carry-over metrics per train.
Good follow-up reads
Code freeze and release candidate workflowRelease branch workflowPost-release multi-branch backporting