chore(ci): Cap repo-relay notify job and clarify bot-skip comment - #7153
Conversation
Propagate two fixes from the canonical repo-relay workflow rollout: - Add timeout-minutes: 10 to the notify job. The concurrency group serializes runs, so a hung run would queue later notifications behind it for up to the 6-hour default. - Reword the bot-skip comment to state its real purpose: only this workflow's own actor is skipped (preventing self-trigger cascades); other bots like dependabot and Copilot relay on purpose.
There was a problem hiding this comment.
Pull request overview
Updates this repo’s repo-relay GitHub Actions workflow to match the canonical rollout by capping the notify job runtime and clarifying the bot-skip rationale, improving reliability of serialized notifications without changing the job’s gating behavior.
Changes:
- Add
timeout-minutes: 10to thejobs.notifyjob to prevent a hung run from blocking queued runs under the workflow concurrency group. - Reword the
if-guard comment to accurately describe skipping onlygithub-actions[bot](self-trigger cascade prevention), while allowing other bots to relay.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Code Review: PR #7153SummaryA 9-line CI-only change to Mechanics check out. The cap is well-sized. Recent Two comment-accuracy points below. Both are wording-only, both apply equally to the canonical, and neither blocks this PR. Strengths
Issues FoundCriticalNone. Suggestions
Both S1 and S2 are inherited from the canonical and are already merged in four sibling repos. Fixing them here would create drift. The right move is to correct the canonical in Nitpicks
Architecture NotesThe interesting property here is that the timeout and the concurrency group are complementary rather than redundant. The group buys serialization (no races on the SQLite state cache) at the cost of head-of-line blocking, and without a cap that blocking window was the runner's 6-hour default. Ten minutes bounds it to something smaller than the interval between typical repo events, which is what keeps the group from converting one bad run into a silent notification outage. The one place the design still leans on luck is state durability: relay state lives only in the run-keyed Deferred ItemsNone filed in this repo. S1 and S2 are wording fixes to the shared canonical workflow and belong in VerdictApprove. The diff does exactly what it claims, the YAML and Actions semantics are correct, the value is justified by measured runtimes, and the repo-local deviation survived the propagation. The two comment-accuracy points are inherited from the canonical and should be fixed there to keep the five copies identical. |
Summary
Propagates the two fixes from the canonical repo-relay workflow rollout (already merged in stock-keep, skill-templates, carebridge, and duskwright) to this repo's copy, which predates them:
timeout-minutes: 10on the notify job — theconcurrencygroup serializes runs, so a hung run would queue later notifications behind it for up to the 6-hour default.github-actions[bot]) is skipped, to prevent self-trigger cascades; other bots (dependabot, Copilot) relay on purpose because their activity belongs in the channel.No behavioral change beyond the timeout cap — the
ifcondition itself is untouched.Testing
jobs.notify.timeout-minutes == 10verified.