Saltar al contenido principal
GitHub Actions

GitHub Actions: Error: Process completed with exit code 1

Cómo depurar y solucionar 'Process completed with exit code 1' en GitHub Actions. Estrategias para identificar el paso fallido y sus causas.

Error: Error: Process completed with exit code 1

¿Por qué ocurre?

El error genérico "exit code 1" en GitHub Actions indica que un comando del workflow terminó con error. Las causas más comunes son: - Tests que fallan (`npm test`, `pytest`, etc.) - Build fallido (`npm run build`, `cargo build`, etc.) - Linting errors (`eslint`, `prettier --check`) - Dependencias que no se instalan correctamente - Variables de entorno o secrets no configurados - Permisos insuficientes del GITHUB_TOKEN

Solución paso a paso

1. Leer el log del paso fallido En GitHub → Actions → workflow run → expandir el paso con ❌. El error real está al final del log de ese paso específico.

2. Añadir debug verboso

- name: Debug install
  run: npm install --verbose

- name: Debug build run: npm run build -- --debug

3. Continuar en error para ver todos los fallos

- name: Run tests
  run: npm test
  continue-on-error: true  # No para el workflow

- name: Run lint run: npm run lint continue-on-error: true

4. Variables de entorno / Secrets

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      NODE_ENV: production
      DATABASE_URL: ${{ secrets.DATABASE_URL }}
    steps:
      - name: Verificar env
        run: echo "DB configurada=${{ secrets.DATABASE_URL != '' }}"

5. Permisos del token

permissions:
  contents: write
  packages: write
  id-token: write

6. Caché de dependencias (evita reinstalaciones rotas)

- name: Cache node_modules
  uses: actions/cache@v4
  with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}

- name: Install dependencies run: npm ci

Cómo evitarlo en el futuro

- Usa `npm ci` en lugar de `npm install` en CI para builds deterministas - Configura todos los secrets necesarios en Settings → Secrets and variables → Actions - Prueba el workflow localmente con `act` (https://github.com/nektos/act) - Añade `set -e` al inicio de scripts bash multi-línea para fallar rápido

GitHub ActionsCI/CDworkflowexit codedeploy

¿Quieres que una IA te ayude? Genera el prompt perfecto para tu error:

Generador de Prompts

¿Necesitas desarrollo a medida?

Apps web, IA, módulos ERP — cuéntame tu proyecto.