From 7a57b6a0f028bc6198171232dcddfc5f891dd136 Mon Sep 17 00:00:00 2001 From: Peter Somogyvari Date: Tue, 18 Jun 2024 09:30:02 -0700 Subject: [PATCH] docs(RELEASE_MANAGEMENT): explain auto-merge for release PRs is a no-no The detailed explanation is here: Do not enable auto-merging on GitHub for the pull request doing the release. The problem with auto-merging here is that it would modify the release commit's SHA as the rebase would happen on GitHub's servers where your git signing identity is not available to use given that GitHub does (should) not have access to your private key for signing. The way the preserve your commit signature as valid the commit SHA must remain the same and the way to achieve this is to perform the pull request merging with fast forward. The merging ensures that there is no commit SHA change and the `--ff-only` option ensures that there is no merge commit to throw a wrench in the process. Signed-off-by: Peter Somogyvari --- RELEASE_MANAGEMENT.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/RELEASE_MANAGEMENT.md b/RELEASE_MANAGEMENT.md index fc9ceb71cc..77d24dd0a9 100644 --- a/RELEASE_MANAGEMENT.md +++ b/RELEASE_MANAGEMENT.md @@ -80,6 +80,14 @@ git push --set-upstream upstream release-v1.1.3 ### Then create a PR here - once that's merged, rebase onto upstream/main and: +**IMPORTANT**: Do not enable auto-merging on GitHub for the pull request doing the release. +The problem with auto-merging here is that it would modify the release commit's SHA as the +rebase would happen on GitHub's servers where your git signing identity is not available to use +given that GitHub does (should) not have access to your private key for signing. +The way the preserve your commit signature as valid the commit SHA must remain the same and the +way to achieve this is to perform the pull request merging with fast forward. The merging +ensures that there is no commit SHA change and the `--ff-only` option ensures that there is no +merge commit to throw a wrench in the process. 1. Do a merge freeze 2. Unfreeze the specific pull request that you just opened for the release issuance