Add automated release process ADR with branch/workflow diagrams and long-term-support hotfix flow [WPB-22420]#21221
Add automated release process ADR with branch/workflow diagrams and long-term-support hotfix flow [WPB-22420]#21221screendriver wants to merge 6 commits into
Conversation
|
🔗 Download Full Report Artifact 🧪 Playwright Test Summary
|
…grams and long-term-support hotfix flow Establish a release process that is safe, predictable, and fully executable from GitHub without local release operations. The process ensures that quality assurance controls promotion from beta to production, production tags represent actual successful deployments, hotfixes can be propagated quickly without branch drift, and long-term-support customers receive stable, low-frequency releases with a dedicated hotfix path.
dce5778 to
8f9ee86
Compare
Rework the proposed release process ADR based on review feedback. - rename the ADR to focus on trunk-based automated releases - replace the dev/master model with main as the single trunk - define continuous Edge deployment from main - define automatic Beta deployment from release branches - keep Production gated by GitHub Environment approval - clarify post-deployment production tagging and beta tag lineage - replace long-term-support wording with on-premises maintenance releases - clarify hotfix, rollback, ownership, and feature flag expectations
|
First of all: big thank you for all the discussions, comments, and challenges on this ADR. The feedback changed the proposal quite a bit and made the process clearer. I updated the ADR based on the discussion. The proposal now moves from "automated release process with
I also renamed the ADR file to:
The previous name was too narrow because the ADR is no longer only about the quality assurance gate. It now also covers the branch model, I replaced the "long-term-support release" wording with "on-premises maintenance release". The intent is not that every Production release becomes a long-term-support line. A maintenance line is created only when a customer-managed deployment needs a stable branch for later patches. The webapp team produces the branch, artifact, and tags; customer deployment stays outside this workflow. I also clarified ownership:
The main tradeoff is that |
Clarify that beta and production tags include the full release identifier. - use YYYY-MM-DD.N-beta.M for beta tags - use YYYY-MM-DD.N-production for production tags - anchor tag families to the release branch identifier instead of deployment date"
Add serialization rules for release workflows. - allow only one beta deployment per release branch - allow newer beta runs to cancel older pre-deployment beta runs - allow only one production deployment at repository level - prevent automatic cancellation of production deployments
Clarify how feature flags behave in the trunk-based release process. - do not require feature flag removal before merging to main - allow disabled features to land on main for later Edge dogfooding - enable features for Beta and Production when they are in release scope - remove flags later after rollout and rollback-by-flag is no longer needed
|



Purpose
Establish a release process that is safe, predictable, and fully executable from GitHub without local release operations. The process ensures that quality assurance controls promotion from beta to production, production tags represent actual successful deployments, hotfixes can be propagated quickly without branch drift, and long-term-support customers receive stable, low-frequency releases with a dedicated hotfix path.
What this pull request contains
docs/decision-records/0002-automated-quality-assurance-gated-release-process.mdReview request
Please read the entire ADR carefully, including:
Discussion focus
Please comment on:
dev,master,release/...,lts/...)Process
This is the discussion round.
After comments are resolved, I will freeze the ADR text and request final approvals.