Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/pr-review-merge-scheduler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ on:
push:
branches: [main, develop, master]
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, auto_merge_enabled, closed]
# Include retarget/queue/auto-merge state changes so stacked PR chains are
# re-evaluated immediately when merge readiness shifts without a new head push.
types: [opened, synchronize, reopened, edited, ready_for_review, enqueued, dequeued, auto_merge_enabled, auto_merge_disabled, closed]
Comment thread
seonghobae marked this conversation as resolved.
Outdated
pull_request_review:
types: [submitted, dismissed]
workflow_run:
Expand Down
26 changes: 26 additions & 0 deletions tests/test_required_workflow_queue_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,32 @@ def test_merge_scheduler_dispatches_one_review_by_default() -> None:
)


def test_merge_scheduler_pull_request_target_includes_retarget_and_queue_events() -> None:
Comment thread
seonghobae marked this conversation as resolved.
Outdated
workflow = workflow_text("pr-review-merge-scheduler.yml")
trigger_block = workflow.split("pull_request_target:", 1)[1].split(
"pull_request_review:",
1,
)[0]
types_line = next(
line.strip() for line in trigger_block.splitlines() if line.strip().startswith("types:")
)
listed = types_line.split("[", 1)[1].split("]", 1)[0]
trigger_types = {item.strip() for item in listed.split(",") if item.strip()}
Comment thread
seonghobae marked this conversation as resolved.
Outdated

assert trigger_types == {
"opened",
"synchronize",
"reopened",
"edited",
"ready_for_review",
"enqueued",
"dequeued",
"auto_merge_enabled",
"auto_merge_disabled",
"closed",
}


def test_merge_scheduler_provides_same_repository_dispatch_credential() -> None:
"""Guard the runner-token dispatch credential for central review workflows.

Expand Down
Loading