Skip to content

Commit 28f6998

Browse files
committed
Updates CONTRIBUTING guide
1 parent 79c4ef1 commit 28f6998

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

CONTRIBUTING.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,14 @@ GitLens version changes are bucketed into two types:
191191

192192
#### Preparing a Normal Release
193193

194-
Use the [prep-release](scripts/prep-release.js) script to prepare a new release. The script updates the [package.json](package.json) and [CHANGELOG.md](CHANGELOG.md) appropriately, commits the changes as `Bumps to v{major}.{minor}.{patch}`, and creates a `v{major}.{minor}.{patch}` tag which when pushed will trigger the CI to publish a release.
194+
Before publishing a new release, do the following:
195+
196+
1. Create a GitHub milestone for any potential patch releases, named `{major}.{minor}-patch` with a description of `Work intended for any patch releases before the {major}.{minor} release`
197+
2. Create a GitHub milestone for the next release, `{major}.{minor+1}` with a description of `Work intended for the {release-month} {release-year} release` and a set the appropriate due date
198+
3. Ensure all items in the `{major}.{minor}` GitHub milestone are closed and verified or moved into one of the above milestones
199+
4. Close the `{major}.{minor}` and `{major}.{minor-1}-patch` GitHub milestones
200+
201+
Then, use the [prep-release](scripts/prep-release.js) script to prepare a new release. The script updates the [package.json](package.json) and [CHANGELOG.md](CHANGELOG.md) appropriately, commits the changes as `Bumps to v{major}.{minor}.{patch}`, and creates a `v{major}.{minor}.{patch}` tag which when pushed will trigger the CI to publish a release.
195202

196203
1. Ensure you are on the `main` branch and have a clean working tree
197204
2. Ensure the [CHANGELOG.md](CHANGELOG.md) has been updated with the release notes
@@ -205,10 +212,13 @@ If the action fails and retries are unsuccessful, the VSIX can be built locally
205212

206213
#### Preparing a Patch Release
207214

208-
1. Create, if needed, a `release/{major}.{minor}` branch from the latest `v{major}.{minor}.{patch}` tag
209-
2. Cherry-pick the desired commits from `main` into the `release/{major}.{minor}` branch
210-
3. Follow steps 2-5 in [Preparing a Normal Release](#preparing-a-normal-release) above
211-
4. Manually update the [CHANGELOG.md](CHANGELOG.md) on `main` with the patch release notes
215+
Before publishing a new release, do the following:
216+
217+
1. Ensure all items in the `{major}.{minor}-patch` GitHub milestone are closed and verified
218+
2. Create, if needed, a `release/{major}.{minor}` branch from the latest `v{major}.{minor}.{patch}` tag
219+
3. Cherry-pick the desired commits from `main` into the `release/{major}.{minor}` branch
220+
4. Follow steps 2-5 in [Preparing a Normal Release](#preparing-a-normal-release) above
221+
5. Manually update the [CHANGELOG.md](CHANGELOG.md) on `main` with the patch release notes
212222

213223
Note: All patch releases for the same `{major}.{minor}` version use the same `release/{major}.{minor}` branch
214224

0 commit comments

Comments
 (0)