发布

  • [OPIK-7037] [GHA] fix: dedupe Fern update PRs and post one daily Slack thread (#7182)

    frostbyte_neo 发布于 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

    下载附件