From 838e6bd5214194500e7cb1731013ac40e8a4b46a Mon Sep 17 00:00:00 2001 From: Ed Savage Date: Tue, 28 Jul 2026 13:14:37 +1200 Subject: [PATCH] [ML] Publish overall PR-builds commit status (required check) via catalog-info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 #3115 backports #3125/#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 --- catalog-info.yaml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/catalog-info.yaml b/catalog-info.yaml index 43b41c1a8..0172326c9 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -35,8 +35,14 @@ spec: filter_condition: build.creator.name == 'elasticmachine' filter_enabled: true publish_blocked_as_pending: true - publish_commit_status: false - publish_commit_status_per_step: true + # Publish a single overall commit status (buildkite/ml-cpp-pr-builds) rather than + # one per step. This rollup is the required status check on main and the release + # branches, and is what auto-merge (incl. backport auto-merge) waits on. Must stay + # true — if it flips to false the required check never posts and every PR/backport + # blocks forever. (Do not re-enable per-step statuses: they flood the PR and are + # not the required check.) + publish_commit_status: true + publish_commit_status_per_step: false trigger_mode: code repository: elastic/ml-cpp skip_intermediate_builds: true