-
[OPIK-7037] [GHA] fix: dedupe Fern update PRs and post one daily Slack thread (#7182)
发布于
2026-06-22 15:46:51 +00:00 - [OPIK-7037] [INFRA] fix: dedupe Fern update PRs and post one daily Slack thread
Replace the per-second timestamped branch with a stable date-less name so
peter-evans/create-pull-request updates the single open PR in place instead
of opening a duplicate on every spec-changing BE merge. Gate the Slack
notification on pull-request-operation == 'created' and post via
chat.postMessage as a branded "Fern Bot", threading all of a day's PRs under
one parent message (anchor carried in the slack-thread-state workflow
artifact). Request each triggering author as a reviewer on the open PR.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- fix(notify): thread on PR updates + resolve newest state artifact by name
Address PR review feedback:
- notify-slack now fires on pull-request-operation 'updated' as well as
'created', so a BE merge that pushes new spec into the already-open Fern PR
also posts a threaded reply (and tags the author), not just the first PR of
the day. - Resolve the daily thread anchor from the most recent slack-thread-state
artifact by name instead of the latest successful run. Each run uploads its
own artifact, so a successful run that uploaded nothing (e.g. a no-op run)
no longer breaks same-day threading.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- chore(ci): rename create-pr step to upsert-pr to reflect create-or-update
The peter-evans/create-pull-request step creates the Fern PR on first run and
updates the same open PR on subsequent runs (upsert). Rename the step name/id
and its output references accordingly for clarity.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Co-authored-by: Claude Opus 4.8 (1M context) noreply@anthropic.com
下载附件