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 0a7e6c3
Browse filesBrowse the repository at this point in the historyBrowse files
fix(ci): a refused cross-repo close fails the job instead of passing as a warning
cross-repo-issue-closer.yml's per-target loop caught every failure into
`core.warning` and ran on. The isolation that buys is correct and is kept
unchanged -- one unreachable target must not take the rest down -- but the
job's OUTCOME was fused to it, so a refused close left the foreign issue open,
put no notice on the PR, and produced a conclusion identical to the ~2270 runs
where there was nothing to do at all. The catch's own comment already stated
the requirement it did not meet: "a failure here must not read as success".
- the loop records the keys it could not close and still runs to the end;
- after the loop, a job summary lists them with reasons and `core.setFailed`
names them, the shape merge-queue-triage.yml has used since #9424;
- `describe(error)` is hoisted once instead of a second hand-written copy, so
both exits report `HTTP 404` / `ECONNRESET` in one vocabulary (#9576).
The red/green judgement was re-derived rather than inherited from PR #9594:
the job's context is absent from the LIVE ruleset (six required contexts, read
from `/rulesets/12119582`), it triggers on `pull_request_target: [closed]` so
it gates nothing already merged, and the repo's only two `workflow_run:`
listeners watch `CI` and `Release`.
scripts/check-cross-repo-closer-outcome.mjs is the half PR #9594 could not
leave behind: it extracts the SHIPPED script from the YAML and runs it under
doubles the way actions/github-script does, ten scenarios over every exit path,
with a --self-test that mutates the script seven ways and requires the battery
to go red for each. Over the 1176 most recently merged PRs, zero bodies carry a
qualified cross-repo closing keyword, so this loop is code nobody has seen run
and every fix to it lands unexercised without a harness like this.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XqDQYVU5smx29ts9pAErja
0 commit comments