ci(release): trigger changelog sync directly from the release workflows - #3193
Conversation
The Changelog: Sync workflow listens for `on: release`, but the release is created with the built-in GITHUB_TOKEN, and GitHub deliberately does not emit release/push/workflow events for GITHUB_TOKEN actions (recursion guard). So the changelog never fired on an actual release -- only the daily cron caught up. Dispatch Changelog: Sync explicitly from each release workflow's create-gh-release job, right after the release is made, passing the new tag. The step is continue-on-error and needs actions: write; a changelog hiccup must not fail a release whose tag already published, and the cron still backstops.
|
Assessment: Approve Correct, well-scoped fix. The root-cause analysis (GITHUB_TOKEN-created releases don't emit Verification notes
Only one optional, non-blocking suggestion inline (surface silent dispatch failures via a warning annotation). Nicely done — the inline comments explaining the why behind each change are exemplary. |
A silent continue-on-error dispatch would fail green -- the same silent-failure class this change fixes. Use `|| echo ::warning` so a failed dispatch is visible immediately instead of only after the ~24h cron, while staying non-fatal to the release.
|
Re-reviewed after Both workflows validate as YAML and remain in parity. No remaining concerns — Approve stands. 🚢 |
|
Re-reviewed after Assessment: Approve — no outstanding issues. Nice iteration. 🚀 |
|
@strandly-the-agent Review this pr |
|
Assessment: Approve — clean, well-scoped CI fix. I re-checked out the branch ( What I verified (independent pass)
Notes (non-blocking, no action needed):
Root-cause writeup and the inline why comments are genuinely good. Flagging for a human maintainer to give the actual approving click — this is just my independent read. |
Description
python/v1.47.0 and typescript/v1.8.0 released but the changelog didn't sync. Root cause: Changelog: Sync listens for
on: release, but the release workflows create the GitHub release with the built-inGITHUB_TOKEN, and GitHub deliberately does not emitrelease/push/workflowevents for actions taken byGITHUB_TOKEN(a guard against recursive workflow triggers). Soon: releasehas never fired from an actual release — only the daily cron backstop eventually caught up.This dispatches Changelog: Sync explicitly from each release workflow's
create-gh-releasejob, right after the release is created, passing the new tag:workflow_dispatchis an explicit API call, not an event, so theGITHUB_TOKENrecursion guard does not apply — this fires reliably.actions: write(needed to dispatch a workflow).The standalone
on: releasetrigger and the daily cron in changelog-sync.yml are left in place as defense-in-depth.Testing