diff --git a/README.md b/README.md index b532a5c7b..72478b593 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ Table of Contents - [Violation Correction](#violation-correction) - [Project Management Dashboard](#project-management-dashboard) - [Contributing to ScriptAnalyzer](#contributing-to-scriptanalyzer) +- [Creating a Release](#creating-a-release) - [Code of Conduct](#code-of-conduct) @@ -402,8 +403,29 @@ Before submitting a feature or substantial code contribution, please discuss it [Back to ToC](#table-of-contents) +Creating a Release +================ + +- Update changelog (`changelog.md`) with the new version number and change set. When updating the changelog please follow the same pattern as that of previous change sets (otherwise this may break the next step). +- Import the ReleaseMaker module and execute `New-Release` cmdlet to perform the following actions. + - Update module manifest (engine/PSScriptAnalyzer.psd1) with the new version number and change set + - Update the version number in `engine/project.json` and `rules/project.json` + - Create a release build in `out/` + +```powershell + PS> Import-Module .\Utils\ReleaseMaker.psm1 + PS> New-Release +``` + +- Sign the binaries and PowerShell files in the release build and publish the module to [PowerShell Gallery](www.powershellgallery.com). +- Create a PR on `development` branch, with all the changes made in the previous step. +- Merge the changes to `development` and then merge `development` to `master` (Note that the `development` to `master` merge should be a `fast-forward` merge). +- Draft a new release on github and tag `master` with the new version number. + +[Back to ToC](#table-of-contents) + Code of Conduct =============== This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. -[Back to ToC](#table-of-contents) \ No newline at end of file +[Back to ToC](#table-of-contents)