diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 786a5d3..148abae 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -106,6 +106,18 @@ yarn run package 2. Ensure the required [dependencies](#dependencies) are installed 3. Choose the `Watch & Run` launch configuration from the launch dropdown in the Run and Debug viewlet and press `F5`. +### Change Log + +The [Change Log](CHANGELOG.md) is updated manually and an entry should be added for each change. Changes are grouped in lists by `added`, `changed` or `fixed`. + +Entries should be written in future tense: + +> - Adds [Gravatar](https://en.gravatar.com/) support to gutter and hover blame annotations + +Be sure to give yourself much deserved credit by adding your name and user in the entry: + +> - Adds `gitlens.statusBar.alignment` settings to control the alignment of the status bar — thanks to [PR #72](https://github.com/gitkraken/vscode-gitlens/pull/72) by Zack Schuster ([@zackschuster](https://github.com/zackschuster))! + ## Submitting a Pull Request Please follow all the instructions in the [PR template](.github/PULL_REQUEST_TEMPLATE.md). @@ -115,3 +127,48 @@ Please follow all the instructions in the [PR template](.github/PULL_REQUEST_TEM This repository contains both OSS-licensed and non-OSS-licensed files. All files in or under any directory named "plus" fall under LICENSE.plus. The remaining files fall under LICENSE, the MIT license. If a pull request is submitted which contains changes to files in or under any directory named "plus", then you agree that GitKraken and/or its licensors (as applicable) retain all right, title and interest in and to all such modifications and/or patches. + +## Publishing + +### Versioning + +GitLens version changes are bucketed into two types: + +- `minor`: normal release (new features, enhancements and fixes) +- `patch`: hotfix release (just fixes) + +Note: `major` version bumps are only considered for more special circumstances. + +#### Updating the CHANGELOG + +All recent changes are listed under `## [Unreleased]`. This title and corresponding link at the bottom of the page will need to be updated. + +The title should be updated to the upcoming version and the release date (YYYY-MM-DD): + +```markdown + + +## [Unreleased] + + + +## [12.1.0] - 2022-06-14 +``` + +Stage this file so it will be included with the version commit. + +#### Version Commit + +Run `yarn version` and enter the upcoming version when prompted. + +Once the commit is completed, run `git push --follow-tags` to push the version commit and the newly generated tags. + +### GitHub Actions and Deployment + +After the version commit and new tags are pushed to GitHub, the [Publish Stable workflow](.github/workflows/cd-stable.yml) will be triggered, which will automatically package the extension and deploy it to the [VS Marketplace](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens). The [release notes](https://github.com/gitkraken/vscode-gitlens/releases/latest) _should_ be generated during the action, but if not, this will can be done manually using the notes from the [Change Log](CHANGELOG.md). + +If the action fails, the VSIX will need to build built locally with `yarn package` and uploaded manually in the marketplace. + +### Insiders release + +The [Publish Insiders workflow](.github/workflows/cd-insiders.yml) is automatically ran every AM unless no new changes have been committed to `main`.