-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v9 release strategy #23914
Comments
The hybrid automated/manual release feels ambitious for beachball, where we already add a bunch of hacks to coexist with the release of v8 in isolation. We should either add the necessary changes directly in beachball v2 or go custom. Our in-repo workarounds for beachball are getting unsustainable |
From a customer perspective, they are mostly interested in the timing of the releases. So I really like the idea of aligning to our milestones and then on demand for hotfixes. So messaging could be: "We release every month, but if you need a hotfix we can do a one-off, but if you can wait until the end that would be great... :-)" |
The faster from checkin to release, the better. Of the three options, only # 1 comes close to that. Ideally, daily releases or even continuous delivery would be better. |
I would agree with @MLoughry above. |
Updates: Since Q1 we are using approach no 1 with great success - Manual release (anytime) We are closely monitoring the cadence and type of releases. Based on those data we might introduce automation in future. I'll close this epic for now. Cheers |
Story π§ββοΈ
Current behaviour
We trigger v9 release pipeline manually.
This will trigger following workflow:
beachball
New behaviour (proposal)
Release approach
Going forward we wanna adhere to/pick one of the following workflows:
1. Manual release (anytime)
Releases are triggered manually as of today with improved tooling so there are no issues and manuall follow-ups needed.
Implementation Effort: Medium
Why this approach:
How will I get Bug fixes:
If there is "high severity" issue, once there is capacity it will be immediately worked on. After PR with fix is merged, we will trigger release immediately.
This will result in:
2. Manual release (milestone aligned)
Implementation Effort: Medium
Why this approach:
How will I get Bug fixes:
If there is "high severity" issue, it will be acoomodated based on priority and current milestone. If it has higher severity than issues and features already planned for active milestone, it will be added to this milestone and when fixed released within upcoming release window.
This will result in:
3. Semi-manual release
Implementation Effort: High
Why this approach:
How will I get Bug fixes:
This will result in:
Bug fixes approach
As we strictly follow semver we don't plan to back-port fixes to previous minor versions.
Scenario Example 1 (only patches):
type: patch
commits fluent bumps tov9.1.1
type:patch
so fluent bumps tov9.1.2
Scenario Example 2 (patches+minors):
type: minor
commit, fluent bumps tov9.2.0
type:patch
so fluent bumps tov9.2.1
v9.2.1
where he will have his issue fixed. Also this version will contain new features - that's expressed by2
a minor number9.1.0
release thus we wont release this as9.1.1
Related Issues and blockers
The text was updated successfully, but these errors were encountered: