Skip to content

Commit 6563d95

Browse files
committed
Clarify release steps for hotfix release
1 parent b5abcfd commit 6563d95

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

docs/development_handbook.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
| 0.28.0 | 2023-08-14 | Luke Cartey | Remove references to LGTM which is now a legacy product. |
3838
| 0.29.0 | 2023-10-11 | Remco Vermeulen | Update release process. |
3939
| 0.29.1 | 2023-10-11 | Remco Vermeulen | Address Markdown linter problems. |
40+
| 0.30.0 | 2023-11-14 | Remco Vermeulen | Clarify release steps in case of a hotfix release. |
4041

4142
## Scope of work
4243

@@ -606,16 +607,22 @@ Among the assets are:
606607

607608
#### Creating a release
608609

610+
**NOTE**: If this is a hotfix release, make sure to invoke `prepare-release.yml` with `hotfix` set to `true`.
611+
609612
To create a new release:
610613

611614
1. Determine the appropriate release version. Version numbers are generated
612615
according to the guidelines in the section "Version Numbering."
613616
2. Determine the appropriate [Git reference](https://git-scm.com/book/en/v2/Git-Internals-Git-References) to base the new release on. For new major or minor releases, this will be `main`. For patch releases this will be the release branch that is patched.
614-
3. Trigger a [workflow dispatch event](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow) for the [Prepare CodeQL Coding Standards release](../.github/workflows/prepare-release.yml) workflow, specifying the release version for the input `version` and the Git reference for the input `ref`.
615-
4. Merge the PR that is created for the release, named `Release v<major>.<minor>.<patch>` where `<major>`, `<minor>`, and `<patch>` match with the input `version` of the workflow [Prepare CodeQL Coding Standards release](../.github/workflows/prepare-release.yml) triggered in the previous step.
617+
3. Trigger a [workflow dispatch event](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow) for the [Prepare CodeQL Coding Standards release](../.github/workflows/prepare-release.yml) workflow, specifying the release version for the input `version` and the Git reference for the input `ref`, and `hotfix` with the value `true` **if** it is a hotfix release.
618+
4. Validate the compiler and performance results linked from their respective check runs in the PR's checks overview.
619+
1. Validate the performance results by ensuring the release performance doesn't regresses from the previous release by more than a factor of 2 without a good reason.
620+
2. Validate the compiler results by ensuring there is an acceptable number of compatibility issues.
621+
5. Merge the PR that is created for the release, named `Release v<major>.<minor>.<patch>` where `<major>`, `<minor>`, and `<patch>` match with the input `version` of the workflow [Prepare CodeQL Coding Standards release](../.github/workflows/prepare-release.yml) triggered in the previous step.
622+
6. Merge the PRs for the performance and compiler validation results on the release engineering repository.
616623

617624
The release automation consists of many test and validation steps that can fail. These can be addressed and the release can be restarted from step 3.
618-
A restart of a release **WILL RECREATE THE EXISTING RELEASE BRANCH AND RELEASE PR**. Any additional changes added to the PR **MUST** be reapplied.
625+
A restart of a release (i.e., calling `prepare-release.yml`) **WILL RECREATE THE EXISTING RELEASE BRANCH AND RELEASE PR**. Any additional changes added to the PR **MUST** be reapplied.
619626
If a release has been marked public, the release can no longer be restarted or re-released without removing the release manually.
620627

621628
## False Positive Triage Rubric

0 commit comments

Comments
 (0)