Fuente y compilado juntos
El repositorio independiente Seradox24/stt-docsite contiene Astro, contenido, instrucciones, automatización y todo dist. El compilado se actualiza en el mismo cambio que sus fuentes.
El repositorio es privado. La documentación servida por Nginx es pública; el contenido publicado debe escribirse con ese alcance.
Flujo de actualización
- Editar en una rama y registrar qué cambió.
- Instalar dependencias con el lockfile y la versión de Node indicada.
- Validar Astro, comprobar el desplegador y ejecutar la compilación.
- Incluir las fuentes y
disten el commit y abrir el PR. - GitHub Actions verifica que una nueva compilación coincide con el
distversionado. - Cuando el cambio llega a
main, Actions solicita el despliegue por SSH indicando el commit exacto. - La VPS actualiza su checkout desde GitHub, valida el compilado y cambia el enlace público de forma atómica.
Un push directo a main sigue el mismo proceso. También existe ejecución manual del workflow para repetir una publicación.
La primera ejecución completa se comprobó el 22 de octubre de 2026: validación en Linux, igualdad con el compilado generado en Windows, actualización del checkout de la VPS y comprobación HTTPS. La ejecución inicial de Actions conserva la evidencia; su consulta requiere acceso al repositorio privado.
Qué valida el despliegue
El artefacto lleva un manifiesto con tamaño y SHA-256 de cada archivo. La VPS rechaza archivos no declarados, rutas fuera del sitio y enlaces simbólicos dentro del artefacto.
Solo se publica el commit vigente de main. Si otro cambio ya lo sustituyó, la solicitud antigua queda omitida. Una comprobación HTTPS compara el HTML servido con el compilado; ante un error vuelve al enlace anterior.
Operación manual y agentes
Los comandos completos y la recuperación están en README.md, docs/PUBLICACION.md, AGENTS.md y CLAUDE.md del repositorio.
Codex y Claude deben compilar antes de guardar cambios, incluir dist, revisar el resultado de Actions y comprobar la página publicada. Si la automatización falla, deben registrar el bloqueo y seguir el procedimiento SSH documentado; no dar por publicado un commit que solo exista en GitHub.