From 36e85fc588d19e47646eae7c392754db5905b59f Mon Sep 17 00:00:00 2001 From: aarroyo Date: Sat, 5 Sep 2026 23:29:36 -0500 Subject: [PATCH] ci(release): quitar el filtro de rutas del pull_request, que es la precondicion de GT-710 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `build-and-test` vive en este workflow y va a ser un check REQUERIDO. Un check requerido detras de un filtro `paths` nunca reporta en un PR que no toca esas rutas, y GitHub lee "no reporto" como "no satisfecho": el PR queda inmergeable para siempre, con todo lo visible en verde y nada a lo que apuntar. No es hipotetico ni en general ni aqui. `sdk-cli-ci.yml` lleva escrito que el repositorio lo vivio con `CodeQL SAST` en el PR #218, y por eso su `pull_request` no lleva filtro. Y medido sobre esta rama antes de tocar nada: el filtro listaba `src/sdk/cli/**`, `src/packages/**`, este fichero y `.harness/**`, mientras que el #690 solo toco `reference/` — habria sido el primero en clavarse. Se anade `branches: [main, develop]` para igualar la forma de `sdk-cli-ci.yml`: son las dos ramas protegidas, las unicas donde un check requerido decide algo. El filtro del `push` NO se toca: los pushes no pasan por checks requeridos, asi que ahi no hay deadlock posible y los minutos de CI valen la pena. Esa asimetria es el diseno, no un descuido. Co-Authored-By: Claude Opus 5 --- .github/workflows/sdk-cli-release.yml | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sdk-cli-release.yml b/.github/workflows/sdk-cli-release.yml index 70399b34..b64ba2f6 100644 --- a/.github/workflows/sdk-cli-release.yml +++ b/.github/workflows/sdk-cli-release.yml @@ -10,12 +10,24 @@ on: # NOTHING but core-validation, and every downstream job skipped with it. The # validation half only ever executed on a v* tag, which is how five consecutive # tags each discovered a different long-standing defect. + # + # NO `paths:` FILTER ON `pull_request` — deliberately, and it must stay that way, + # for the same reason `sdk-cli-ci.yml` carries the identical note. `build-and-test` + # is a job in this workflow and is intended to become a REQUIRED status check + # (GT-710). A required check behind a path filter never reports on a PR that misses + # those paths, and GitHub reads "never reported" as "not satisfied" -- so such a PR + # is unmergeable forever, with every visible check green and nothing to point at. + # `sdk-cli-ci.yml` records the repository living through exactly that with + # `CodeQL SAST` on PR #218; this filter would have reproduced it on the next + # docs-only change. Measured before removing it, not argued: the filter listed + # `src/sdk/cli/**`, `src/packages/**`, this file and `.harness/**`, and PR #690 + # touched only `reference/` -- so it would have been the first casualty. + # + # The `push` trigger below keeps its filter on purpose: pushes are not gated by + # required checks, so no deadlock is possible there and the CI minutes are worth + # saving. That asymmetry is the whole design, not an oversight. pull_request: - paths: - - 'src/sdk/cli/**' - - 'src/packages/**' - - '.github/workflows/sdk-cli-release.yml' - - '.harness/**' + branches: [main, develop] push: branches: - main