mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-11 00:44:20 -05:00
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# Release Checklist
|
|
|
|
This checklist will prepare `v1.3.0` from `v1.2.0` (minor release) or `v1.3.1` from `v1.3.0` (patch release). Adjust your version numbers accordingly.
|
|
|
|
## Preparation
|
|
|
|
1. Search the code for TODOs and FIXMEs that should be resolved before releasing.
|
|
2. [Update titles and labels for all PRs relevant for this release](/dev-docs/conventions.md#pr-conventions) to aid in the [changelog generation](/.github/release.yml).
|
|
|
|
|
|
## Automated release
|
|
|
|
Releases should be performed using [the automated release pipeline](https://github.com/edgelesssys/constellation/actions/workflows/release.yml).
|
|
|
|
### Patch release
|
|
|
|
1. `cherry-pick` (only) the required commits from `main`
|
|
2. trigger the automated release pipeline from the existing minor version branch:
|
|
```sh
|
|
ver=1.3.1 # replace me
|
|
minor=$(echo $ver | cut -d '.' -f 1,2)
|
|
gh workflow run release.yml --ref release/v$minor -F version=$ver -F kind=patch
|
|
```
|
|
3. wait for the pipeline to finish
|
|
4. look over the autogenerated draft release and publish it
|
|
|
|
### Minor release
|
|
|
|
1. Merge ready PRs
|
|
2. trigger the automated release pipeline from `main`:
|
|
```sh
|
|
ver=1.3.0 # replace me
|
|
minor=$(echo $ver | cut -d '.' -f 1,2)
|
|
gh workflow run release.yml --ref main -F version=$ver -F kind=minor
|
|
```
|
|
3. wait for the pipeline to finish
|
|
4. look over the autogenerated draft release and publish it
|
|
|
|
## Post release steps
|
|
|
|
1. Milestones management
|
|
1. Create a new milestone for the next release
|
|
2. Add the next release manager and an approximate release date to the milestone description
|
|
3. Close the milestone for the release
|
|
4. Move open issues and PRs from closed milestone to next milestone
|
|
2. If the release is a minor version release, tag the latest commit on main as the start of the next pre-release phase.
|
|
|
|
```sh
|
|
nextMinorVer=$(echo "${ver}" | awk -F. -v OFS=. '{$2 += 1 ; print}')
|
|
git checkout main
|
|
git pull
|
|
git tag v${nextMinorVer}-pre
|
|
git push origin refs/tags/v${nextMinorVer}-pre
|
|
```
|