[VS Code] Define a release cadence
Problem to solve
The VS Code Extension maintainers release the extension ad-hoc, sometimes leading to a few weeks without releasing useful functionality to the users. Also, WebIDE is being released with the Monolith and so the extension should be released before the Monolith release to provide value to the next GitLab release.
Example: https://gitlab.slack.com/archives/C013QJ9NEPL/p1714598278034069?thread_ts=1713977131.622359&cid=C013QJ9NEPL [as of writing this it’s been ~ 3 weeks of small improvements since a release]
Let's discuss establishing a release cadence for VS Code Extension. As a starting point, @lauraionel and the rest of the JetBrains extension crew have already defined an excellent process in this issue. The proposal below is similar with a few tweaks to account for the cross-team contributor pool.
Proposal
- Decide on a regular cadence of releases.
- The main purpose of this is to ensure that we don't go for too long without releasing useful functionality and fixes to users.
- Suggestion: Set two points in time per milestone where the Release DRI carries out a release if anything user-facing has been merged since the last release.
- Retain the ability to release more often if required, but ideally no more than once per week (already current guidelines).
- Establish a rotating Release DRI, with the following responsibilities:
- Make sure you are aware who is the DRI for the current milestone.
- Make sure you have read the release schedule and if you will NOT be available on one of the dates, assign someone else.
- Communicate the planned dates ahead of time to the #f_vscode_extension channel.
- This is to give a heads-up to anyone who contributes to or depends on the extension. For example groupeditor extensions, groupide.
- On the date of the release, when you are ready to create the release:
- Follow the existing GitLab Workflow Release Process.
- Update the milestone Release schedule with the required details.
- Define a release section in groupeditor extensions milestone planning issues. This would show:
- The DRI (release officer).
- The release dates for alpha/stable.
- Example:
Release schedule | ||||
---|---|---|---|---|
Date |
Status |
DRI |
Comments |
|
15/May/2024 |
Skipped |
|
No major updates | |
22/May/2024 |
Released |
(Example!) Replaced by |
||
29/May/2024 |
Released |
|
||
05/June/2024 |
Released |
|