fix(release): tag-guard reconciles autorelease label (#1561)

Merged
LU
4mo ago
+28-0

What

Adds a label-reconcile step to release-tag-guard.yml: after the guard ensures the v<version> Release exists, it flips the merged release PR's autorelease: pending → tagged label.

Why (#1561)

The guard already creates the tag + Release when release-please's auto-tag fails (the common case in this single-package manifest — see ADR 2026-06-22-release-please-group-title-pattern). But it never flipped the PR's autorelease label, so release-please's next run still saw an untagged, merged release PR outstanding and aborted the next release.

This recurred today at v2.24.0 → v2.25.0: merging #1578 produced no 2.25.0 release PR until the label was manually flipped pending→tagged. Without this fix, every release needs that manual relabel.

How

A separate step (not gated by the create-step's exit 0 early-exit, so it always runs), idempotent:

  • finds the merged autorelease: pending release PR matching chore: release <version>
  • flips it to autorelease: tagged via the PAT
  • no-op when already reconciled

The guard now reconciles both the Release and the label state release-please tracks. ADR 2026-06-22 updated with the dated follow-up; closes the residual label-tracking risk it had flagged.

Closes #1561


Summary by cubic

Add a label-reconcile step to the release tag guard so merged release PRs are flipped from autorelease: pending to tagged after the Release exists. This prevents release-please from aborting the next release when auto-tagging fails.

  • Bug Fixes
    • Adds a separate, idempotent step that always runs after confirming the Release exists.
    • Finds the merged release PR for the current version and flips autorelease: pending → tagged via RELEASE_PLEASE_TOKEN.
    • Prevents the next release from blocking (fixes the v2.24.0 → v2.25.0 recurrence); ADR 2026-06-22 updated; closes #1561.