You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b39624c
Browse filesBrowse the repository at this point in the historyBrowse files
ci: settle on merge-after-approval, and stop floating a ruleset bypass
The comments and the skip message offered "or a ruleset bypass actor for this
workflow" as though the decision were still open. It is not: main's ruleset keeps
its code-owner approval requirement and gains no bypass actor, because unattended
merging would mean granting some identity the right to bypass code-owner review on a
public repository, which is not a trade worth making for dependency bumps in demo
applications. A bot approval could not satisfy a CODEOWNERS requirement anyway.
Behaviour is unchanged — the merge is still attempted and the outcome classified,
which is simpler than mirroring the ruleset's configuration in the script and cannot
drift from it. The skip message for the ordinary case now reads as a worklist entry:
"ready to merge, awaiting a code-owner approval (@aws/aws-lambda-tooling)".
What the workflow is worth without unattended merging: approve once and the merge
happens within the hour, but only when the verification covers the exact commit that
lands, so a stale approval cannot merge an unverified head. The hourly sweep is what
makes approving a batch and walking away work.
Six paths re-run, all unchanged.
echo"PR #$PR is example-only and verified at $head_sha by run $run_id (reviewDecision=$review). Merging."
176
177
@@ -208,10 +209,9 @@ case "$state" in
208
209
# reported as "a sibling update landed first", which was simply the wrong diagnosis:
209
210
# main's ruleset blocks a merge until the required review is satisfied.
210
211
BLOCKED)
211
-
# main's ruleset requires one code-owner approval (.github/CODEOWNERS assigns `*` to
212
-
# @aws/aws-lambda-tooling) and lists no bypass actors, so this is the expected
213
-
# outcome until either a human approves or this workflow's identity is made a bypass
214
-
# actor. Named precisely, because it used to be reported as a sibling conflict.
212
+
# The expected outcome for an unapproved pull request: main's ruleset requires a
213
+
# code-owner approval. Named precisely, because it used to be reported as a sibling
214
+
# conflict, which it never was.
215
215
case"$review"in
216
216
APPROVED)
217
217
skip "merge rejected, blocked by main's ruleset even though it is approved — a required rule is unsatisfied."
@@ -220,7 +220,7 @@ case "$state" in
220
220
skip "merge rejected, a reviewer requested changes."
221
221
;;
222
222
*)
223
-
skip "verified at ${head_sha:0:8} by run $run_id — blocked awaiting a code-owner approval (@aws/aws-lambda-tooling), or a ruleset bypass actor for this workflow."
223
+
skip "verified at ${head_sha:0:8} by run $run_id — ready to merge, awaiting a code-owner approval (@aws/aws-lambda-tooling)."
0 commit comments