From 74cf0933a568a354afb6c37ef17a712cca460827 Mon Sep 17 00:00:00 2001 From: Fendor Date: Sat, 2 Dec 2023 14:21:45 +0100 Subject: [PATCH 1/2] Add release branch policy --- docs/Release.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/Release.md b/docs/Release.md index 1568d9c9..d020dbea 100644 --- a/docs/Release.md +++ b/docs/Release.md @@ -16,6 +16,19 @@ Follow this list for items that must be completed for release of the `vscode-has - Github actions will automatically release the extension to VSCode- and VSX-Marketplace. - If you want to create a pre-release, create a [pre-release in Github](https://github.com/haskell/vscode-haskell/releases). The github action will perform the appropriate actions automatically and publish the pre-release of the extension to VSCode- and VSX-Marketplace. +## Branching policy + +Sometimes there is a release (stable) and pre-release (unstable) at the same time and we need to do a release for the stable release and sometimes we need to do a release for the pre-release series. +To simplify the release management, the following policy is in place: + +* The branch `master` contains the current stable release + * As such, its `package.json` must always have the form `major.EVEN_NUMBER.patch` + * Dependency version bumps are automatically performed by dependabot against `master` + * For each release, a tag must be created +* Pre-releases are located on a separate branch called `pre-release-` + * Before a release, the branch is rebased on top of current master + * For each pre-release, a tag must be created + ## Release CI The release CI has access tokens for VSX Marketplace and the VSCode Marketplace. From 342d176ea93fbbd00579c5380f915afa3be4ece9 Mon Sep 17 00:00:00 2001 From: Fendor Date: Tue, 16 Jan 2024 18:33:50 +0100 Subject: [PATCH 2/2] Invert the policy as discussed --- docs/Release.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Release.md b/docs/Release.md index d020dbea..c5d432ae 100644 --- a/docs/Release.md +++ b/docs/Release.md @@ -21,13 +21,13 @@ Follow this list for items that must be completed for release of the `vscode-has Sometimes there is a release (stable) and pre-release (unstable) at the same time and we need to do a release for the stable release and sometimes we need to do a release for the pre-release series. To simplify the release management, the following policy is in place: -* The branch `master` contains the current stable release - * As such, its `package.json` must always have the form `major.EVEN_NUMBER.patch` +* The branch `master` contains the current pre-release + * As such, its `package.json` must always have the form `major.ODD_NUMBER.patch` * Dependency version bumps are automatically performed by dependabot against `master` * For each release, a tag must be created -* Pre-releases are located on a separate branch called `pre-release-` +* Stable releases are located on a separate branch called `release-` * Before a release, the branch is rebased on top of current master - * For each pre-release, a tag must be created + * For each stable release, a tag must be created of the form `major.EVEN_NUMBER.patch` ## Release CI