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 uses: taiki-e/install-action@v2 with: tool: zola@0.23.3 fallback: none - 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