From fa459784e470a7b53c289378c6afc239f00498f5 Mon Sep 17 00:00:00 2001 From: sergio Date: Fri, 17 Jul 2026 09:22:01 -0400 Subject: [PATCH] granja: dejar de moler la cola del OTRO agente (los 6 'No such file' de cada farm-down) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit recipes/incoming/ es la cola del stack gráfico tawasuyu, de otro agente. Sus 7 recetas son imports crudos de Alpine con sha256='FIXME-sha256' y deps sin expandir (clang$_llvmver, _dev, py3-gpep517) ⇒ NO construibles por construcción. El worker las fallaba en CADA vuelta (CPU pagada) y farm-down repetía los 6 errores al bajar, con pinta de ser nuestros. Su trabajo YA aterrizó por la vía canónica (7131cd4 'MESA iris-only CONSTRUIDA — stack gráfico COMPLETO'), así que la cola quedó obsoleta. Pero NO es nuestra para borrarla: 370e7b7 ya la parqueó una vez como cruft y 5126a8b tuvo que revertirlo. Dejamos sus ficheros en paz y sólo los sacamos de QUEUES. Co-Authored-By: Claude Opus 4.8 --- scripts/farm/farm-down.sh | 10 +++++++++- scripts/farm/farm-worker-loop.sh | 15 ++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/scripts/farm/farm-down.sh b/scripts/farm/farm-down.sh index d004d5eb..b160ee4c 100755 --- a/scripts/farm/farm-down.sh +++ b/scripts/farm/farm-down.sh @@ -67,8 +67,16 @@ if [ "${NO_PROMOTE:-}" != "1" ] && [ "$harvested" -gt 0 ]; then # El worker muele TODAS las colas (ver QUEUES en farm-worker-loop.sh); build-farm.sh sin QUEUE # sólo mira recipes/incoming ⇒ los artefactos de incoming-go/incoming-clib se cosechaban pero # NO se promovían/firmaban. Recorrer las mismas colas que el worker (cache-hit en lo cosechado). + # + # `recipes/incoming` NO va acá: es la cola de OTRO AGENTE (stack gráfico tawasuyu, ver 5126a8b). + # Son imports crudos de Alpine con `sha256 = "FIXME-sha256"` y deps sin expandir (`clang$_llvmver`, + # `_dev`, `py3-gpep517`) ⇒ NO construibles por construcción, fallan con "No such file" en CADA + # farm-down y ensucian el log con 6 errores que parecen nuestros y no lo son. Además su trabajo YA + # aterrizó por la vía canónica (7131cd4, "MESA iris-only CONSTRUIDA — stack gráfico COMPLETO"), así + # que la cola quedó obsoleta — pero NO es nuestra para borrarla: 370e7b7 ya la parqueó una vez como + # cruft y 5126a8b tuvo que revertirlo. Dejamos sus ficheros en paz y sólo dejamos de molerlos. echo "==> promote+firma final (cache-hit en lo cosechado)" - for Q in ${QUEUES:-recipes/incoming recipes/incoming-go recipes/incoming-clib}; do + for Q in ${QUEUES:-recipes/incoming-go recipes/incoming-clib}; do ls "$Q"/*.toml >/dev/null 2>&1 || continue echo " --- promoviendo $Q" QUEUE="$Q" scripts/build-farm.sh || echo " (build-farm $Q devolvió error; revisá logs)" diff --git a/scripts/farm/farm-worker-loop.sh b/scripts/farm/farm-worker-loop.sh index 32abbf8d..ff189805 100755 --- a/scripts/farm/farm-worker-loop.sh +++ b/scripts/farm/farm-worker-loop.sh @@ -66,13 +66,18 @@ DISK_HIGH="${DISK_HIGH:-82}" done ) & -# Colas a construir (sólo SELLA, PROMOTE=0; el hub promueve+firma). `recipes/incoming` es la cola -# compartida (otro agente, stack gráfico tawasuyu); `recipes/incoming-go` es la cola AISLADA del -# frente Go (pre-sembrada para que el worker muela 24/7 sin pisar al otro agente). build-farm hace -# `rm -rf work/farm` al inicio ⇒ construirlas EN SERIE (una por vuelta) es seguro, sin colisión. +# Colas a construir (sólo SELLA, PROMOTE=0; el hub promueve+firma). `recipes/incoming-go` es la cola +# AISLADA del frente Go (pre-sembrada para que el worker muela 24/7 sin pisar al otro agente). +# build-farm hace `rm -rf work/farm` al inicio ⇒ construirlas EN SERIE (una por vuelta) es seguro, +# sin colisión. # incoming-clib: libs C (toolkit/foundational) que el worker SELLA pero el cron de cosecha-go IGNORA # (son build-deps, se usan vía catálogo; no tienen binario que el gate Go pueda smoke-testear). -QUEUES="${QUEUES:-recipes/incoming recipes/incoming-go recipes/incoming-clib recipes/incoming-kde}" +# +# `recipes/incoming` (cola del otro agente, stack gráfico tawasuyu) SALIÓ de la lista: sus 7 recetas +# son imports crudos de Alpine con `sha256 = "FIXME-sha256"` y deps sin expandir ⇒ el worker gastaba +# CPU pagada en fallarlas en CADA vuelta del loop. Su trabajo ya aterrizó canónico (7131cd4). No las +# borramos — no son nuestras (5126a8b revirtió un parqueo previo) — sólo dejamos de molerlas. +QUEUES="${QUEUES:-recipes/incoming-go recipes/incoming-clib recipes/incoming-kde}" echo "$(date -u +%FT%TZ) worker-loop arrancado: JOBS=$JOBS IDLE_SLEEP=$IDLE_SLEEP QUEUES='$QUEUES'" while :; do total=0