Skip to content

Stop double Slack announcement of schema-sync PRs; ping Mona + Nicki (DS-1133) - #38

Draft
monazhu wants to merge 2 commits into
mainfrom
fix/slack-notify-double-fire
Draft

Stop double Slack announcement of schema-sync PRs; ping Mona + Nicki (DS-1133)#38
monazhu wants to merge 2 commits into
mainfrom
fix/slack-notify-double-fire

Conversation

@monazhu

@monazhu monazhu commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Two fixes to the Slack notifications:

Double announcement (observed on #37 today)

slack-pr-notify.yml assumed bot-opened PRs can't trigger pull_request workflows (anti-recursion). Reality: GitHub creates those runs parked at action_required, and they execute the moment someone hits Approve and run workflows — announcing the PR a second time. Fixed with an author guard (user.login != 'github-actions[bot]'); schema-sync's inline step remains the single announcement. Comments corrected in both files.

Pings + message content (DS-1133 parity with cvr-analyst / c3d-cognitive3dpy)

  • All messages now ping Mona + Nicki (human-PR announcement had no ping at all — leftover from testing).
  • Inline message names the actual unblock action: open PR → Checks → Approve and run workflows → merge.
  • Notifies on refresh too (a force-push re-parks the checks at action_required).
  • New if: failure() step reports sync failures (e.g. expired SLICER_READ_TOKEN) — invisible from cortex's dispatch leg, which only sees 204/queued.

🤖 Generated with Claude Code

monazhu and others added 2 commits August 31, 2026 13:27
slack-pr-notify.yml assumed bot-opened PRs cannot trigger pull_request
workflows (anti-recursion). In practice GitHub creates those runs
parked at action_required, and they execute when a human hits
'Approve and run workflows' — so every automation PR was announced
twice (observed on PR #37, 2026-08-31). Guard the notify job on PR
author != github-actions[bot]; schema-sync's inline step remains the
single announcement.

Also (DS-1133, parity with cvr-analyst and c3d-cognitive3dpy): the
inline message now names the actual unblock action (Checks -> Approve
and run workflows), fires on refresh too (a force-push re-parks the
checks), and a failure() step reports SLICER_READ_TOKEN-style sync
failures that cortex's dispatch leg cannot see.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant