diff --git a/docs/maintainers/releasing.md b/docs/maintainers/releasing.md index 6d86b8cc1f5..b3a5d5c9dd5 100644 --- a/docs/maintainers/releasing.md +++ b/docs/maintainers/releasing.md @@ -2,11 +2,22 @@ ## Release Steps -> Note: Step 2, 3 and 4 can be done in parallel. Step 5 and 6 can be done in parallel. +When creating a release milestone, you should send meeting invites to maintainers to book the release day and the previous day. +This is to make sure they have enough time to work on the release. -1. Create a branch named `release` in `PowerShell/PowerShell` repository. All release related changes should happen in this branch. +The following release procedure should be started on the previous day of the target release day. +This is to make sure we have enough buffer time to publish the release on the target day. + +Before starting the following release procedure, open an issue and list all those steps as to-do tasks. +Check the task when you finish one. +This is to help track the release preparation work. + +> Note: Step 2, 3 and 4 can be done in parallel. + +1. Create a branch named `release` in `PowerShell/PowerShell` repository. + All release related changes should happen in this branch. 1. Prepare packages - - [Build release packages](#building-packages) + - [Build release packages](#building-packages). - Sign the MSI packages and DEB/RPM packages. - Install and verify the packages. 1. Update documentation, scripts and Dockerfiles @@ -14,11 +25,11 @@ - Update [CHANGELOG.md](../../CHANGELOG.md) with the finalized change log draft. - Update other documents and scripts to use the new package names and links. 1. Verify the release Dockerfiles. -1. Publish Linux packages to Microsoft YUM/APT repositories. 1. [Create NuGet packages](#nuget-packages) and publish them to [powershell-core feed][ps-core-feed]. 1. [Create the release tag](#release-tag) and push the tag to `PowerShell/PowerShell` repository. +1. Create the draft and publish the release in Github. 1. Merge the `release` branch to `master` and delete the `release` branch. -1. Publish the release in Github. +1. Publish Linux packages to Microsoft YUM/APT repositories. 1. Trigger the release docker builds for Linux and Windows container images. - Linux: push a branch named `docker` to `powershell/powershell` repository to trigger the build at [powershell docker hub](https://hub.docker.com/r/microsoft/powershell/builds/). Delete the `docker` branch once the builds succeed.