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
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
`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
|
||||
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`,
|
||||
en orden, deteniéndose en el primer fallo (verificado con Runme real; ver el
|
||||
ADR-0004 del motor). Nunca ejecute `runme run --all --skip-prompts` **sin**
|
||||
`--tag ci-safe` sobre este archivo ni sobre `runbooks/weekly-review.md`: sin
|
||||
ese filtro, `--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
|
||||
No usa `runme run --tag ci-safe --all`: esa forma sí funciona en una
|
||||
terminal normal, pero en el runner real de esta instancia aborta al entrar a
|
||||
su UI interactiva de progreso multi-tarea (no se pudo reproducir en local
|
||||
para diagnosticarlo más a fondo — ver `scripts/runme-ci.sh`). Invocar cada
|
||||
celda por nombre evita esa ruta de código.
|
||||
|
||||
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.
|
||||
|
||||
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