Files
clusterlogs/RUNBOOK.md
T
fernandoandClaude Sonnet 5 064b5d5bb8
CI / validate-and-build (push) Successful in 7s
CI / runme (push) Failing after 7s
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>
2026-08-27 01:45:23 -06:00

3.9 KiB

RUNBOOK

Punto de entrada de la documentación ejecutable de esta instancia de clusterlog (MCPS). Cada celda envuelve un comando canónico existente (make, ./bin/clusterlog, un script en scripts/) — ninguna celda contiene lógica propia. El desarrollo del motor mismo (compilar, probar, bootstrap-instance) vive en fenandosr/clusterlog; ver runbooks/README.md para la convención completa de nombres y etiquetas.

Este archivo funciona igual con o sin Runme instalado: cada bloque es un comando de shell normal que también puede copiarse y ejecutarse a mano.

Runbooks disponibles

Comprobaciones rápidas

set -euo pipefail
test -f zola.toml && test -f .clusterlog-version || { echo "ejecute esto desde la raíz de la instancia" >&2; exit 1; }
echo "clusterlog-version: $(cat .clusterlog-version)"
if command -v zola >/dev/null 2>&1; then echo "zola:    $(zola --version)"; else echo "zola:    no instalado (validate --skip-zola sigue funcionando)"; fi
if command -v runme >/dev/null 2>&1; then echo "runme:   $(runme --version)"; else echo "runme:   no instalado (make runme-install)"; fi
make sync-check
make validate-local
make site

clusterlog-site-build no lleva ci-safe: descarga el tema y las plantillas del motor por red (make theme templates). La CI (.gitea/workflows/ci.yml) ya construye el sitio en su propio paso; repetirlo aquí sería una segunda copia de la misma lógica, no una celda adicional útil.

: "${CLUSTERLOG_SSH_KEY:?defina CLUSTERLOG_SSH_KEY con la ruta a su llave pública}"
./bin/clusterlog --root . --json --ssh-key "$CLUSTERLOG_SSH_KEY" review list --mine

clusterlog-review-mine tampoco lleva ci-safe: --mine resuelve identidad a partir de una llave SSH personal, y CI no tiene ni debe tener acceso a ninguna llave privada real.

./bin/clusterlog --root . --json verify commit HEAD

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:

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

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.