El paso de rsync a producción no se ejecutó en el primer run exitoso ni
dejó rastro de 'omitido' en el log, a diferencia del paso condicional de
firmas en PR. Se envuelve la condición en ${{ }} (forma explícita) y se
agrega un paso previo que imprime github.ref/event_name/ref_name reales
en este runner, para confirmar si el valor difiere de lo esperado.
install-action falla en el runner de Gitea Actions en modo host: reporta
runner.os='linux' (minúsculas) y la acción sólo reconoce 'Linux'. Se
reemplaza por una descarga directa del tarball de la release fijada.
.github/workflows/ci.yml nunca corrió: Gitea Actions busca los workflows
en .gitea/workflows/, no en .github/workflows/, y además no había ningún
runner registrado en la instancia (0 workflow_runs históricos).
Se registró un runner en modo host en mcps-hpc-01 (mismo binario
act_runner, sin Docker-in-Docker) y se agregó un paso de publicación al
final del pipeline: en push a main, hace rsync de public/ a
/opt/clusterlog/public/, que sirve un contenedor nginx en mcps-net
detrás de Caddy en clusterlog.mcps-epcm.org.
También corrige base_url en zola.toml, que seguía apuntando al dominio
de ejemplo.