fix(ci): correr celdas ci-safe por nombre en vez de runme run --all
El log real del runner confirmó que el crash ("could not execute
command: aborted") ocurre justo al entrar a la UI interactiva
multi-tarea de "runme run --all" (mensajes "Initializing..."/"Parsing
files..."), no en una celda en particular — --log/--log-file ni
siquiera alcanzan a escribir nada. No se pudo reproducir en local pese
a varios intentos (stdin/stdout no interactivos, CI=true, TERM=dumb).
scripts/runme-ci.sh corre cada celda ci-safe por su nombre exacto, sin
--all: --dry-run ya había confirmado que esa forma no dispara la UI
multi-tarea. Makefile y RUNBOOK.md actualizados para reflejarlo.
Probado localmente de extremo a extremo, las 4 celdas en verde.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -92,10 +92,3 @@ jobs:
|
|||||||
|
|
||||||
- name: Ejecutar celdas ci-safe de RUNBOOK.md
|
- name: Ejecutar celdas ci-safe de RUNBOOK.md
|
||||||
run: make runme-ci
|
run: make runme-ci
|
||||||
|
|
||||||
- name: Diagnóstico de runme (sólo si falló el paso anterior)
|
|
||||||
if: failure()
|
|
||||||
run: |
|
|
||||||
echo "runme version: $(runme --version)"
|
|
||||||
echo "--- /tmp/runme-ci.log ---"
|
|
||||||
cat /tmp/runme-ci.log 2>&1 || echo "(sin log)"
|
|
||||||
|
|||||||
@@ -56,4 +56,4 @@ runme-check: build
|
|||||||
./scripts/runme-check.sh
|
./scripts/runme-check.sh
|
||||||
|
|
||||||
runme-ci: build
|
runme-ci: build
|
||||||
runme --log --log-file /tmp/runme-ci.log run --filename RUNBOOK.md --tag ci-safe --all --skip-prompts
|
./scripts/runme-ci.sh
|
||||||
|
|||||||
+17
-7
@@ -59,14 +59,24 @@ ninguna llave privada real.
|
|||||||
|
|
||||||
## Ejecutar
|
## Ejecutar
|
||||||
|
|
||||||
|
`make runme-ci` corre `scripts/runme-ci.sh`, que invoca cada celda `ci-safe`
|
||||||
|
por su nombre exacto, una por una, deteniéndose en el primer fallo:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
runme run --filename RUNBOOK.md --tag ci-safe --all --skip-prompts
|
runme run --filename RUNBOOK.md --skip-prompts clusterlog-runme-preflight
|
||||||
|
runme run --filename RUNBOOK.md --skip-prompts clusterlog-sync-check
|
||||||
|
runme run --filename RUNBOOK.md --skip-prompts clusterlog-validate-local
|
||||||
|
runme run --filename RUNBOOK.md --skip-prompts clusterlog-verify-head
|
||||||
```
|
```
|
||||||
|
|
||||||
es lo que corre `make runme-ci`: exactamente las celdas marcadas `ci-safe`,
|
No usa `runme run --tag ci-safe --all`: esa forma sí funciona en una
|
||||||
en orden, deteniéndose en el primer fallo (verificado con Runme real; ver el
|
terminal normal, pero en el runner real de esta instancia aborta al entrar a
|
||||||
ADR-0004 del motor). Nunca ejecute `runme run --all --skip-prompts` **sin**
|
su UI interactiva de progreso multi-tarea (no se pudo reproducir en local
|
||||||
`--tag ci-safe` sobre este archivo ni sobre `runbooks/weekly-review.md`: sin
|
para diagnosticarlo más a fondo — ver `scripts/runme-ci.sh`). Invocar cada
|
||||||
ese filtro, `--all` también incluiría celdas que mutan estado real de esta
|
celda por nombre evita esa ruta de código.
|
||||||
instancia. Ésas deben correrse una por una, a mano, después de revisar sus
|
|
||||||
|
Nunca ejecute `runme run --all --skip-prompts` sobre este archivo ni sobre
|
||||||
|
`runbooks/weekly-review.md`: sin filtrar por nombre o etiqueta, `--all`
|
||||||
|
también incluiría celdas que mutan estado real de esta instancia. Ésas
|
||||||
|
deben correrse una por una, a mano, después de revisar sus
|
||||||
prerrequisitos.
|
prerrequisitos.
|
||||||
|
|||||||
Executable
+30
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Corre cada celda ci-safe de RUNBOOK.md por nombre exacto, una por una.
|
||||||
|
#
|
||||||
|
# No usa "runme run --tag ci-safe --all": esa forma sí funciona en una
|
||||||
|
# terminal normal (verificado), pero en el runner real de Gitea Actions
|
||||||
|
# de esta instancia aborta de inmediato ("could not execute command:
|
||||||
|
# aborted") apenas entra a su UI interactiva de progreso multi-tarea
|
||||||
|
# ("Initializing...'/"Parsing files..."), sin producir log útil pese a
|
||||||
|
# --log/--log-file. No se pudo reproducir el crash localmente para
|
||||||
|
# diagnosticarlo más a fondo. Invocar cada celda por nombre, sin --all,
|
||||||
|
# usa una ruta de código distinta (confirmado con --dry-run: no dispara
|
||||||
|
# esa UI) y evita el problema.
|
||||||
|
#
|
||||||
|
# La lista debe coincidir con las celdas "ci-safe" de RUNBOOK.md.
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
|
cd "$ROOT"
|
||||||
|
|
||||||
|
CI_SAFE_CELLS=(
|
||||||
|
clusterlog-runme-preflight
|
||||||
|
clusterlog-sync-check
|
||||||
|
clusterlog-validate-local
|
||||||
|
clusterlog-verify-head
|
||||||
|
)
|
||||||
|
|
||||||
|
for cell in "${CI_SAFE_CELLS[@]}"; do
|
||||||
|
echo "== $cell =="
|
||||||
|
runme run --filename RUNBOOK.md --skip-prompts "$cell"
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user