@plainconceptsplatform/workflows 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -63,7 +63,11 @@ if ! grep -q 'part of a stack' <<<"$enqueued"; then
|
|
|
63
63
|
exit 1
|
|
64
64
|
fi
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
# A stack enters the queue only through merge-async, which refuses a GitHub App there. The App lands
|
|
67
|
+
# it directly instead, through the ruleset's bypass list (it must be on it): every layer has passed its
|
|
68
|
+
# own checks and the gate, and the whole stack lands as one operation.
|
|
69
|
+
answer=$(gh api -X PUT "repos/$REPO/pulls/$PR/merge-async" -f merge_action=direct_merge -f merge_method=squash \
|
|
70
|
+
-F bypass_rules=true -f sha="$HEAD_SHA")
|
|
67
71
|
status=$(jq -r .status <<<"$answer")
|
|
68
72
|
uuid=$(jq -r '.details.uuid // ""' <<<"$answer")
|
|
69
73
|
for _ in $(seq 1 12); do
|
|
@@ -85,8 +89,7 @@ case "$status" in
|
|
|
85
89
|
;;
|
|
86
90
|
*)
|
|
87
91
|
message=$(jq -r '.details.message // ""' <<<"$answer")
|
|
88
|
-
|
|
89
|
-
echo "::error::Stack #$PR did not reach the $base merge queue (status '${status}'${message:+: $message}). GitHub lets a GitHub App enqueue a stack only through this endpoint, which refuses Apps today; a person adds the stack to the queue from the pull request."
|
|
92
|
+
echo "::error::Stack #$PR was not merged (status '${status}'${message:+: $message}). The App lands a stack by bypassing the base branch's ruleset, so it must be on that ruleset's bypass list."
|
|
90
93
|
out ""
|
|
91
94
|
exit 1
|
|
92
95
|
;;
|