Skip to content

ci: disambiguate the two release-please PR titles - #430

Merged
rickyrombo merged 1 commit into
mainfrom
ci/release-please-disambiguate
Aug 4, 2026
Merged

ci: disambiguate the two release-please PR titles#430
rickyrombo merged 1 commit into
mainfrom
ci/release-please-disambiguate

Conversation

@rickyrombo

@rickyrombo rickyrombo commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Problem

The two release PRs are indistinguishable in the list:

#427  chore: release 1.8.3     ← rolls out to node operators
#423  chore: release 1.6.3     ← Go module only

Same shape, differing only in a version number that doesn't say which component it belongs to. And since pull-request-header was set at the top level, both claimed "Merging this PR cuts a new release and promotes :stable" — true of #427, false of #423, and wrong in the direction that makes the safe PR look risky.

Change

Two lines.

chore: release 1.8.3
chore(pkg/etl): release 1.6.3

Plus one accurate sentence in the shared header.

Why a literal scope rather than a placeholder

Neither built-in placeholder works here:

  • ${scope} interpolates the target branch, not the component — it would render chore(main): release 1.8.3.
  • ${component} carries a leading space unless component-no-space is set — chore( pkg/etl):.

So the scope is written literally on the one package that needs it. The root title is untouched.

Verification of the header claim

pkg/etl tags are pkg/etl/vX.Y.Z, which match neither tag-released.yml nor buf-publish.yml — both gated on tags: ['v*'], and a GitHub ref filter's * does not match /. Confirmed empirically: tag-released.yml has run 9 times, all on root tags, and no push-event run in the repo's history has ever been triggered by a pkg/etl ref, across 6 such tags. :stable's digest is identical to :v1.8.2's.

🤖 Generated with Claude Code

The two release PRs were indistinguishable: both titled "chore: release
<version>", differing only in a version number that does not say which
component it belongs to. Give the pkg/etl one a scope so the list reads:

  chore: release 1.8.3
  chore(pkg/etl): release 1.6.3

Neither ${scope} nor ${component} can supply this. ${scope} interpolates the
target branch, not the component, so it would render "chore(main):"; and
${component} carries a leading space unless component-no-space is set. Hence
the literal scope on the one package that needs it — the root title is
unchanged.

The shared header also claimed that merging "cuts a new release and promotes
:stable", which is true of the root PR and false of the pkg/etl one, whose
tag matches neither tag-released.yml nor buf-publish.yml (both gated on
tags: ['v*'], and a ref filter's * does not match /). Corrected to one
sentence covering both.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@rickyrombo
rickyrombo force-pushed the ci/release-please-disambiguate branch from e7302e4 to 2997581 Compare August 4, 2026 21:37
@rickyrombo rickyrombo changed the title ci: disambiguate the two release-please PRs and state what each does ci: disambiguate the two release-please PR titles Aug 4, 2026
@rickyrombo
rickyrombo merged commit e48aee9 into main Aug 4, 2026
3 of 4 checks passed
@rickyrombo
rickyrombo deleted the ci/release-please-disambiguate branch August 4, 2026 21:40
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