diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md index c30f7d66..2ca6b100 100644 --- a/.github/ISSUE_TEMPLATE/release.md +++ b/.github/ISSUE_TEMPLATE/release.md @@ -9,6 +9,7 @@ assignees: "@cdr/code-server-reviewers" ## Checklist + - [ ] Assign to next release manager - [ ] Close previous release milestone - [ ] Create next release milestone diff --git a/.github/PULL_REQUEST_TEMPLATE/release_template.md b/.github/PULL_REQUEST_TEMPLATE/release_template.md index 73d6ac0a..8d7841eb 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/release_template.md @@ -10,7 +10,7 @@ TODO Follow "Publishing a release" steps in `ci/README.md` - + - [ ] double-check github release tag is the commit with artifacts (_note gets messed up after uploading assets_) - [ ] publish release and merge PR diff --git a/CHANGELOG.md b/CHANGELOG.md index f368a10a..00d5f676 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,6 +72,7 @@ VS Code v1.56 - docs(maintaining): add merge strategies section #3379 @jsjoeio - refactor: move default PR template #3375 @jsjoeio - docs(contributing): add commits section #3377 @jsjoeio +- docs(maintaining): add process for release managers #3360 @jsjoeio ### Development diff --git a/docs/MAINTAINING.md b/docs/MAINTAINING.md index 02b6b2b5..3755acc5 100644 --- a/docs/MAINTAINING.md +++ b/docs/MAINTAINING.md @@ -10,6 +10,8 @@ - [Versioning](#versioning) - [Pull Requests](#pull-requests) - [Merge Strategies](#merge-strategies) + - [Release](#release) + - [Release Manager Rotation](#release-manager-rotation) @@ -75,3 +77,16 @@ If a PR does fix an issue, don't add it to the version milestone. Otherwise, the ### Merge Strategies For most things, we recommend "Squash and Merge". If you're updating `lib/vscode`, we suggest using the "Rebase and Merge" strategy. There may be times where "Create a merge commit" makes sense as well. Use your best judgement. If you're unsure, you can always discuss in the PR with the team. +The code-server project follows traditional [semantic versioning](ttps://semver.org/), with the objective of minimizing major changes that break backward compatibility. We increment the patch level for all releases, except when the upstream Visual Studio Code project increments its minor version or we change the plugin API in a backward-compatible manner. In those cases, we increment the minor version rather than the patch level. + +## Release + +### Release Manager Rotation + +With each release, we rotate the role of "release manager" to ensure every maintainer goes through the process. This helps us keep documentation up-to-date and encourages us to continually review and improve the flow with each set of eyes. + +If you're the current release manager, follow these steps: + +1. Create a [release issue](../.github/ISSUE_TEMPLATE/release.md) +2. Fill out checklist +3. After release is published, close release milestone