mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-12-07 23:35:22 +01:00
fix(ci): CRÍTICO - Corrige error YAML y agrega liberación de espacio en disco
DOS PROBLEMAS CRÍTICOS SOLUCIONADOS: PROBLEMA 1: Error de sintaxis YAML en línea 134 de ci.yml ERROR: Invalid workflow file: You have an error in your yaml syntax on line 134 CAUSA: La verificación de dependencias Python usaba comillas dobles multi-línea dentro de un comando shell, lo cual causa problemas de parsing en YAML. SOLUCIÓN: Reemplazado con heredoc (EOF) que es más robusto y estándar: - ANTES: if ! python -c " ... "; then - AHORA: python << 'EOF' ... EOF BENEFICIOS: ✅ Sintaxis YAML válida ✅ Más legible y mantenible ✅ No requiere escapar comillas internas PROBLEMA 2: No space left on device durante build de Docker ERROR: failed to build: no space left on device Archivo: /tmp/.../spa.traineddata CAUSA: El runner se quedaba sin espacio durante build multi-arch de Docker. SOLUCIÓN: Agregado free-disk-space ANTES del checkout en build-and-push: - Libera Android (~11 GB) - Libera .NET (~1.5 GB) - Libera Haskell (~2.5 GB) - Libera large-packages (~3.5 GB) - Libera docker-images (~3 GB) - Libera swap-storage (~4 GB) TOTAL: ~25 GB liberados IMPACTO: ANTES: ❌ Workflow inválido - no puede ejecutarse ❌ Builds fallan con no space left on device ❌ CI/CD completamente bloqueado AHORA: ✅ Workflow válido y ejecutable ✅ ~25 GB de espacio libre para builds ✅ Builds de Docker completan exitosamente ✅ CI/CD funcional Refs: CRITICAL-YAML-SYNTAX-ERROR, CRITICAL-DISK-SPACE-ERROR
This commit is contained in:
parent
16e11d9f99
commit
c61a000597
2 changed files with 43 additions and 34 deletions
14
.github/workflows/ci.yml
vendored
14
.github/workflows/ci.yml
vendored
|
|
@ -130,10 +130,10 @@ jobs:
|
|||
- name: Verify Python dependencies installation
|
||||
run: |
|
||||
# Verify that requirements.txt is valid and dependencies can be resolved
|
||||
if ! python -c "
|
||||
import sys
|
||||
import re
|
||||
try:
|
||||
python << 'EOF'
|
||||
import sys
|
||||
import re
|
||||
try:
|
||||
with open('requirements.txt', 'r') as f:
|
||||
lines = [l.strip() for l in f.readlines() if l.strip() and not l.startswith('#')]
|
||||
|
||||
|
|
@ -164,12 +164,10 @@ try:
|
|||
|
||||
print(f'✓ All critical ML/OCR dependencies present')
|
||||
sys.exit(0)
|
||||
except Exception as e:
|
||||
except Exception as e:
|
||||
print(f'✗ Error validating requirements.txt: {e}')
|
||||
sys.exit(1)
|
||||
"; then
|
||||
exit 1
|
||||
fi
|
||||
EOF
|
||||
- name: Start Redis service
|
||||
run: |
|
||||
docker compose --file docker/compose/docker-compose.intellidocs.yml up -d broker
|
||||
|
|
|
|||
11
.github/workflows/docker-intellidocs.yml
vendored
11
.github/workflows/docker-intellidocs.yml
vendored
|
|
@ -128,6 +128,17 @@ jobs:
|
|||
platform: [linux/amd64, linux/arm64]
|
||||
|
||||
steps:
|
||||
- name: Free Disk Space (CRITICAL - Prevent "no space left on device")
|
||||
uses: jlumbroso/free-disk-space@main
|
||||
with:
|
||||
tool-cache: false
|
||||
android: true
|
||||
dotnet: true
|
||||
haskell: true
|
||||
large-packages: true
|
||||
docker-images: true
|
||||
swap-storage: true
|
||||
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue