Files
clusterlogs/.gitea/workflows/ci.yml
T
fernando 18e614e29c
CI / test-and-build (push) Successful in 12s
ci: diagnosticar por qué no corre el paso de despliegue
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.
2026-08-18 00:37:48 -06:00

76 lines
2.1 KiB
YAML

name: CI
on:
push:
pull_request:
permissions:
contents: read
jobs:
test-and-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Instalar Zola fijado
run: |
mkdir -p "$HOME/.local/bin"
curl -sL "https://github.com/getzola/zola/releases/download/v0.23.3/zola-v0.23.3-x86_64-unknown-linux-gnu.tar.gz" -o /tmp/zola.tar.gz
tar xz -C "$HOME/.local/bin" -f /tmp/zola.tar.gz zola
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
"$HOME/.local/bin/zola" --version
- name: Preparar tema fijado
run: ./scripts/bootstrap-theme.sh
- name: Formato Go
run: test -z "$(gofmt -l cmd internal)"
- name: Pruebas Go
run: go test ./...
- name: Detector de carreras Go
run: go test -race ./...
- name: Análisis estático Go
run: go vet ./...
- name: Compilar CLI
run: make build
- name: Flujo integral de la CLI
run: ./scripts/e2e-local.sh
- name: Verificar firmas SSH de commits del pull request
if: github.event_name == 'pull_request'
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: ./scripts/verify-signatures-ci.sh
- name: Regenerar y comprobar proyección
run: |
./bin/clusterlog --root . sync
./bin/clusterlog --root . sync --check
- name: Validar contenido y plantillas
run: ./bin/clusterlog --root . validate --require-zola
- name: Construir sitio
run: zola build
- name: Depurar contexto de despliegue
run: echo "ref=${{ github.ref }} event=${{ github.event_name }} ref_name=${{ github.ref_name }}"
- name: Publicar en producción (clusterlog.mcps-epcm.org)
if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }}
run: rsync -a --delete public/ /opt/clusterlog/public/