Skip to content

build(release): ignore completed release issues when adding backports - #4225

Merged
rickeylev merged 1 commit into
bazel-contrib:mainfrom
rickeylev:fix_backport_logic_release
Oct 6, 2026
Merged

rickeylev merged 1 commit into
bazel-contrib:mainfrom
rickeylev:fix_backport_logic_release

Conversation

@rickeylev

Copy link
Copy Markdown
Collaborator

When someone comments /backport on a PR, add-backports
auto-discovers the active release tracking issue by looking for open
issues with the release label. It only checked that an issue was open,
not whether the release it tracks had already shipped. A release issue
whose "Tag Final" task was done but that nobody closed therefore kept
receiving new backports.

Auto-discovery now ignores open issues whose "Tag Final" task is done
and emits a workflow warning suggesting the issue be closed. If that
leaves no open issue, the tool creates a new patch release tracking
issue, as it does when none is open. A complete issue sitting next to
an active one no longer triggers the "multiple open issues" error.

Explicitly passing --issue is unchanged. sync-changelog and
create-release-issue still treat any open issue as active; the new
is_release_complete() helper can be reused there in a follow-up.

When someone comments `/backport` on a PR, `add-backports`
auto-discovers the active release tracking issue by looking for open
issues with the release label. It only checked that an issue was open,
not whether the release it tracks had already shipped. A release issue
whose "Tag Final" task was done but that nobody closed therefore kept
receiving new backports.

Auto-discovery now ignores open issues whose "Tag Final" task is done
and emits a workflow warning suggesting the issue be closed. If that
leaves no open issue, the tool creates a new patch release tracking
issue, as it does when none is open. A complete issue sitting next to
an active one no longer triggers the "multiple open issues" error.

Explicitly passing `--issue` is unchanged. `sync-changelog` and
`create-release-issue` still treat any open issue as active; the new
`is_release_complete()` helper can be reused there in a follow-up.
@rickeylev
rickeylev requested a review from aignas as a code owner October 6, 2026 03:49
@rickeylev
rickeylev enabled auto-merge October 6, 2026 03:49
@rickeylev
rickeylev merged commit ba1c836 into bazel-contrib:main Oct 6, 2026
5 checks passed
rickeylev added a commit that referenced this pull request Oct 6, 2026
PR #4225 taught `add-backports` to skip open release tracking issues
whose "Tag Final" task is done, but `sync-changelog` and
`create-release-issue` still treated any open issue as the active
release. A tagged-but-unclosed issue therefore made `sync-changelog`
auto-discovery fail with "multiple open issues" and blocked
`create-release-issue` from starting the next release.

Move the active/complete split into a shared
`partition_open_tracking_issues()` on the GitHub interface and use it
from all three commands. Each warns about complete-but-open issues so
someone closes them; only active issues count for auto-discovery and
for the "release already in progress" guard.

* Also adds tests for `create-release-issue`, which had none.
@rickeylev
rickeylev deleted the fix_backport_logic_release branch October 6, 2026 04:42
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