[ML] Publish overall PR-builds commit status via catalog-info (fix stuck merges) - #3129
Merged
edsavage merged 1 commit intoJul 28, 2026
Merged
Conversation
…alog-info The ml-cpp-pr-builds required status check 'buildkite/ml-cpp-pr-builds' is produced by the pipeline's publish_commit_status setting. It was declared false (with publish_commit_status_per_step true) in catalog-info.yaml, so the Backstage sync kept resetting the pipeline to that — the required rollup was never posted and PRs/backports stayed BLOCKED despite green builds (seen on the elastic#3115 backports elastic#3125/elastic#3126). Pipeline settings must be changed here, not via the Buildkite API (the sync overwrites API changes). Set publish_commit_status: true and publish_commit_status_per_step: false so the single required rollup posts and per-step statuses don't flood PRs. Co-authored-by: Cursor <[email protected]>
|
Pinging @elastic/ml-core (Team:ML) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The required status check on
mainand the release branches isbuildkite/ml-cpp-pr-builds— the single overall commit status produced by the pipeline'spublish_commit_statusprovider setting. Auto-merge (including backport auto-merge) waits on it.That setting was declared
publish_commit_status: false(withpublish_commit_status_per_step: true) incatalog-info.yaml. Because ml-cpp's Buildkite pipeline settings are managed by the Backstage sync, the sync periodically re-applies the declared values — so any fix made via the Buildkite API gets reverted, the required rollup stops being posted, and PRs/backports sitBLOCKEDforever despite all builds being green.This was hit today: backports #3125 (9.4) and #3126 (9.5) had passing builds, approvals, and armed auto-merge, but never merged because
buildkite/ml-cpp-pr-buildswas absent.Fix
Declare the correct values in
catalog-info.yaml(source of truth) for the PR-builds pipeline only:with a comment explaining why it must stay
true. The snapshot pipeline block is intentionally left unchanged (it doesn't gate PR merges).Test plan
main; let the Backstage sync apply it.ml-cpp-pr-buildspipeline showspublish_commit_status: true,publish_commit_status_per_step: false(Buildkite APIGET /pipelines/ml-cpp-pr-builds).buildkite/ml-cpp-pr-buildsstatus posts (no per-step flood) and resolves the required check.Unblocks the auto-backport-and-merge flow (#3122/#3128); complements the required-check config on the release branches.