From 657018eb145f6894aa706adb0e203f12dd6c157d Mon Sep 17 00:00:00 2001 From: Renn F Date: Wed, 15 Jul 2026 20:17:18 +0200 Subject: [PATCH] =?UTF-8?q?ci:=20run=20CI=20on=20slave=20pushes=20?= =?UTF-8?q?=E2=80=94=20the=20release=20gate=20is=20fail-closed=20on=20the?= =?UTF-8?q?=20head's=20verdict?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The readiness sweep reads the head rung's CI conclusion and treats a missing run as unknown, which silently blocked every release proposal. Slave joins the push triggers and the paths filter covers the docs/panel-only commits that land there. --- .github/workflows/ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 11da5a30..fc17d66b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,10 @@ on: push: branches: - master + # The dev branch: the gated release manager's readiness sweep is + # fail-closed on the head rung's CI conclusion — no run reads as + # "unknown", which blocks every release proposal. + - slave # Fleet task branches (GitService push/merge, roboco/services/git.py). # A revision commit that lands on a PR's head via the merge API # (squash-merging a subtask PR into a parent branch) doesn't reliably @@ -32,6 +36,12 @@ on: - 'uv.lock' - 'alembic.ini' - '.github/workflows/ci.yml' + # Slave carries docs/panel-only commits too; the release gate needs a + # verdict on every head, so cover what actually lands there. + - 'panel/**' + - 'CLAUDE.md' + - 'CHANGELOG.md' + - 'docs/**' pull_request: branches: - master