diff --git a/Utils/admin/HOWTO_MAKE_A_RELEASE.md b/Utils/admin/HOWTO_MAKE_A_RELEASE.md new file mode 100644 index 000000000..7d1b8912a --- /dev/null +++ b/Utils/admin/HOWTO_MAKE_A_RELEASE.md @@ -0,0 +1,60 @@ +# How to make an SDK release + +## Prerequisites + +- You need to be an admin on the github repo. +- Start in the `devel` branch, make sure it is up to date with + the `origin/devel` branch, and that there are no uncommitted changes. + +## Steps + +### 1. Check what is currently released + +```powershell +.\Utils\admin\Test-RscSdkRelease.ps1 +``` + +This script checks the current +release status of the SDK. Run it to see what is currently released. +It will also make sure the release is coherent: what is on the `main` +branch is what's on GitHub and also what's on the PowerShell gallery. + +### 2. Check the release candidate + +The release candidate is the `devel` branch. + +We want to make sure the package version is newer than what is currently +released, and that it matches the latest entry in `CHANGELOG.md`. + +```powershell +.\Utils\admin\Test-RscSdkCandidate.ps1 +``` + +If the version is not set on the package, or if it is not the same as the +latest entry in `CHANGELOG.md`, you need push a new commit to the `devel` +branch with the updated version: + +```powershell +.\Utils\admin\Set-RscSdkVersion.ps1 . +``` + +Then run `Test-RscSdkCandidate.ps1` again to verify, and: + +```powershell +git commit -a -m "Bump version to ." +git push +``` + +### 3. Create a new release + +First do a dry run to see what will be released: + +```powershell +.\Utils\admin\New-RscSdkRelease.ps1 +``` + +If everything looks good, run the script again with the `-NotDryRun` switch: + +```powershell +.\Utils\admin\New-RscSdkRelease.ps1 -NotDry +```