From 9ab5ccf90813533888f00da4f2560144b621dbfc Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 11 May 2021 15:28:00 -0700 Subject: [PATCH 1/6] docs: add release issue template --- .github/ISSUE_TEMPLATE/release.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/release.md diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md new file mode 100644 index 000000000..c30f7d660 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/release.md @@ -0,0 +1,15 @@ +--- +name: Release +about: "*For maintainers only*" +title: "release: 0.0.0" +labels: "" +assignees: "@cdr/code-server-reviewers" +--- + + + +## Checklist +- [ ] Assign to next release manager +- [ ] Close previous release milestone +- [ ] Create next release milestone +- [ ] Associate issue with next release milestone From ade43c02b7806c56cfed7a70aaf40b4d109e39c0 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 11 May 2021 15:28:32 -0700 Subject: [PATCH 2/6] docs: update release_template PR --- .github/PULL_REQUEST_TEMPLATE/release_template.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/release_template.md b/.github/PULL_REQUEST_TEMPLATE/release_template.md index a88b6de17..73d6ac0a8 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/release_template.md @@ -8,11 +8,10 @@ TODO ## TODOs -- [ ] test locally -- [ ] upload assets to draft release -- [ ] test one of the release packages locally +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 -- [ ] merge PR -- [ ] update the homebrew package +- [ ] publish release and merge PR - [ ] update the AUR package From 1b7573433219b11e6c0c92867da1d58bdcf4a038 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 11 May 2021 15:28:56 -0700 Subject: [PATCH 3/6] fix(release-prep.sh): don't update CHANGELOG --- ci/build/release-prep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/build/release-prep.sh b/ci/build/release-prep.sh index 1ffa651c5..0ee20e7ca 100755 --- a/ci/build/release-prep.sh +++ b/ci/build/release-prep.sh @@ -81,7 +81,7 @@ main() { read -r -p "What version of code-server do you want to update to?"$'\n' CODE_SERVER_VERSION_TO_UPDATE echo -e "Great! We'll prep a PR for updating to $CODE_SERVER_VERSION_TO_UPDATE\n" - $CMD rg -g '!yarn.lock' -g '!*.svg' --files-with-matches --fixed-strings "${CODE_SERVER_CURRENT_VERSION}" | $CMD xargs sd "$CODE_SERVER_CURRENT_VERSION" "$CODE_SERVER_VERSION_TO_UPDATE" + $CMD rg -g '!yarn.lock' -g '!*.svg' -g '!CHANGELOG.md' --files-with-matches --fixed-strings "${CODE_SERVER_CURRENT_VERSION}" | $CMD xargs sd "$CODE_SERVER_CURRENT_VERSION" "$CODE_SERVER_VERSION_TO_UPDATE" # Ensure the tests are passing and code coverage is up-to-date echo -e "Running unit tests and updating code coverage...\n" From eb820543574c123a251daa2d6d25d1588dcd18a9 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 11 May 2021 15:29:16 -0700 Subject: [PATCH 4/6] docs: update publishing a release process --- ci/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/README.md b/ci/README.md index 40f7f4b7b..e90d9ab1d 100644 --- a/ci/README.md +++ b/ci/README.md @@ -32,9 +32,6 @@ Any file or directory in this subdirectory should be documented here. 9. Update the AUR package. - Instructions on updating the AUR package are at [cdr/code-server-aur](https://github.com/cdr/code-server-aur). 10. Wait for the npm package to be published. -11. Update the [homebrew package](https://github.com/Homebrew/homebrew-core/blob/master/Formula/code-server.rb). - 1. Install [homebrew](https://brew.sh/) - 2. Run `brew bump-formula-pr --version=3.8.1 code-server` and update the version accordingly. This will bump the version and open a PR. Note: this will only work once the version is published on npm. ## dev From 12b1e484becd860c31fde9bb81565954b574a84e Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 11 May 2021 15:29:39 -0700 Subject: [PATCH 5/6] docs(maintaining): add release manager rotation --- .github/ISSUE_TEMPLATE/release.md | 1 + .github/PULL_REQUEST_TEMPLATE/release_template.md | 2 +- CHANGELOG.md | 1 + docs/MAINTAINING.md | 15 +++++++++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md index c30f7d660..2ca6b100b 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 73d6ac0a8..8d7841ebb 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 f368a10a6..00d5f6765 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 02b6b2b52..3755acc5b 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 From 2438fb307c8245258c39d0b8fbf31a1a0aa8eada Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Wed, 12 May 2021 14:32:20 -0700 Subject: [PATCH 6/6] fix: use next version in changelog --- .github/PULL_REQUEST_TEMPLATE/release_template.md | 1 - CHANGELOG.md | 6 +++--- ci/README.md | 7 +++---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/release_template.md b/.github/PULL_REQUEST_TEMPLATE/release_template.md index 8d7841ebb..1712e320b 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/release_template.md @@ -12,6 +12,5 @@ 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 - [ ] update the AUR package diff --git a/CHANGELOG.md b/CHANGELOG.md index 00d5f6765..5e4450c84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ # Changelog - [Changelog](#changelog) - - [3.11.0](#3110) + - [Next Version](#next-version) - [New Features](#new-features) - [Bug Fixes](#bug-fixes) - [Documentation](#documentation) @@ -30,7 +30,7 @@ We copy from here into the release notes. -## 3.11.0 +## Next Version VS Code v1.56 diff --git a/ci/README.md b/ci/README.md index e90d9ab1d..c8a8a0ad6 100644 --- a/ci/README.md +++ b/ci/README.md @@ -24,14 +24,13 @@ Any file or directory in this subdirectory should be documented here. - It will upload them to the draft release. 6. Run some basic sanity tests on one of the released packages. - Especially make sure the terminal works fine. -7. Make sure the github release tag is the commit with the artifacts. -8. Publish the release and merge the PR. +7. Publish the release and merge the PR. 1. CI will automatically grab the artifacts and then: 1. Publish the NPM package from `npm-package`. 2. Publish the Docker Hub image from `release-images`. -9. Update the AUR package. +8. Update the AUR package. - Instructions on updating the AUR package are at [cdr/code-server-aur](https://github.com/cdr/code-server-aur). -10. Wait for the npm package to be published. +9. Wait for the npm package to be published. ## dev