staging: la web se descarga del registry, no se compila en groucho
Some checks failed
build-image / build (push) Failing after 8s

Cloudflare ya no esta delante de git.comunes.org, asi que el registry de Forgejo acepta
la capa de 508 MB del bundle (comprobado: subida completa desde groucho, la imagen esta
en comunes/-/packages/container/tcef-web con los tags meteor3 y a24c7a567c).

- compose: `build:` -> `image: git.comunes.org/comunes/tcef-web:${TCEF_WEB_TAG:-meteor3}`.
  groucho pasa de 30 min de `meteor build` (que lo dejaron sin ssh) a un pull de segundos.
- workflow: se activa el disparo por push, y se anade una comprobacion de secretos como
  primer paso. Sin ella, faltar REGISTRY_TOKEN se descubria a los ~30 min, al intentar
  el push; ahora falla en 2 segundos diciendo exactamente que crear y donde.
This commit is contained in:
vjrj 2026-07-28 13:50:23 +02:00
parent 72975e44ae
commit 6aa057f739
2 changed files with 26 additions and 12 deletions

View file

@ -18,16 +18,11 @@
name: build-image
# De momento SOLO manual. El disparo por push está comentado a propósito: hasta que
# `git.comunes.org` salga de detrás de Cloudflare (capa de 508 MB contra un tope de 100 MB,
# ver plan-modernizacion/fase-9-ci-imagenes.md) y existan los secretos REGISTRY_*, cada push
# lanzaría un `meteor build` de ~30 min en aaron para morir al subir. Descomentar cuando
# la primera pasada manual esté verde.
on:
push:
branches: [meteor3-wip, tcef-master]
paths-ignore: ['**.md']
workflow_dispatch:
# push:
# branches: [meteor3-wip, tcef-master]
# paths-ignore: ['**.md']
jobs:
build:
@ -41,6 +36,23 @@ jobs:
env:
IMAGE: git.comunes.org/comunes/tcef-web
steps:
# Primero de todo: sin credenciales el build tarda ~30 min en llegar al push para
# morir ahí. Mejor fallar en 2 segundos y decir exactamente qué falta.
- name: Comprobar secretos
shell: sh
env:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
run: |
export PATH=/busybox:/kaniko:$PATH
if [ -z "$REGISTRY_USER" ] || [ -z "$REGISTRY_TOKEN" ]; then
echo "Faltan los secretos REGISTRY_USER / REGISTRY_TOKEN."
echo "Crealos en Settings -> Actions -> Secrets de este repositorio."
echo "REGISTRY_TOKEN: token de git.comunes.org con scope write:package"
echo "(Settings -> Applications -> Generate New Token). No reutilices uno con scope 'all'."
exit 1
fi
# Checkout a mano contra el Forgejo interno, igual que el CI de fires_flutter:
# la imagen de kaniko no tiene Node, así que las actions basadas en JS no valen.
- name: Checkout

View file

@ -58,10 +58,12 @@ services:
logging: *default-logging
web:
build:
context: .
dockerfile: Dockerfile
image: tcef-web:meteor3
# La imagen se construye en el CI (runner de aaron) y se publica en el registry de
# Forgejo; aquí solo se descarga. groucho NO compila: un `meteor build` lo dejó sin ssh
# (5,9 GB compartidos con Mongo 7 + el resto del stack). Ver
# plan-modernizacion/fase-9-ci-imagenes.md y .forgejo/workflows/build-image.yml.
# Para fijar una versión concreta: TCEF_WEB_TAG=<sha12> docker compose up -d web
image: git.comunes.org/comunes/tcef-web:${TCEF_WEB_TAG:-meteor3}
container_name: tcef-staging-web
depends_on:
mongo-init: