name: Despliegue Automático Landing Cirux on: push: branches: - master jobs: deploy: runs-on: self-hosted steps: # En lugar de checkout@v4, usamos comandos de consola nativos - name: Descargar código vía Git run: | echo "Clonando/Actualizando código desde Gitea..." # Limpiamos el directorio de trabajo temporal del runner para evitar conflictos rm -rf ./* .git # Clonamos el repositorio usando el token interno que Gitea genera para cada Job git clone --depth=1 http://token:${{ secrets.GITHUB_TOKEN }}@172.24.0.3:3000/${{ gitea.repository }} . - name: Sincronizar archivos al directorio de producción run: | echo "Iniciando actualización en /landing-cirux..." # 1. Limpiamos por completo el destino para evitar archivos fantasmas del pasado # (Equivale al --delete que hacíamos en rsync) rm -rf /cirux/* /cirux/.* 2>/dev/null # 2. Copiamos todo el contenido actual (incluyendo archivos ocultos como .env o .next) # Usamos comodines seguros para evitar bucles con '.' y '..' cp -r ./.[!.]* ./* /cirux/ 2>/dev/null || cp -r ./* /cirux/ echo "¡Despliegue completado con éxito!"