mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
tools: abort CQ session when landing several commits
Most PRs are meant to be squashed in one commit when landing. If the collaborator hasn't been using `fixup!` commits, the CQ lands the PR as several commits. This change makes the CQ abort by default when attempting to land several commits, unless there's another label added to the PR to force squashing or landing as several commits. Fixes: https://github.com/nodejs/node/issues/40436 Refs: https://github.com/nodejs/node-core-utils/pull/572 PR-URL: https://github.com/nodejs/node/pull/40577 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
1 parent
14825d63c0
commit
9bd6d526e6
2 files changed
+16
-2
No files matched your search
@@ -70,7 +70,15 @@ for pr in "$@"; do
|
||||
# Delete the commit queue label
|
||||
gitHubCurl "$(labelsUrl "$pr")"/"$COMMIT_QUEUE_LABEL" DELETE
|
||||
|
||||
git node land --autorebase --yes "$pr" >output 2>&1 || echo "Failed to land #${pr}"
|
||||
if gitHubCurl "$(labelsUrl "$pr")" GET | jq -e 'map(.name) | index("commit-queue-squash")'; then
|
||||
MULTIPLE_COMMIT_POLICY="--fixupAll"
|
||||
elif gitHubCurl "$(labelsUrl "$pr")" GET | jq -e 'map(.name) | index("commit-queue-rebase")'; then
|
||||
MULTIPLE_COMMIT_POLICY=""
|
||||
else
|
||||
MULTIPLE_COMMIT_POLICY="--oneCommitMax"
|
||||
fi
|
||||
|
||||
git node land --autorebase --yes $MULTIPLE_COMMIT_POLICY "$pr" >output 2>&1 || echo "Failed to land #${pr}"
|
||||
# cat here otherwise we'll be supressing the output of git node land
|
||||
cat output
|
||||
|
||||
|
||||
Reference in new issue
Block a user