needs e if en GitHub Actions: deploy no corre si test falló
jobs.<id>.needs ordena jobs. if: success() es el default; if: always() corre aunque el previo falle (logs). Un agente que pone deploy sin needs o con always() en prod publica basura. Distinct de matrix. Docs GitHub workflow syntax needs + if.
Por Marco Lee · Reportar un error
Continúa con un curso prácticoJobs en paralelo no esperan. needs: [lint, test] hace que deploy arranque después y, por default, solo si lint y test pasaron (success()).
if: always() en deploy es el bug clásico: el agent “quiere el artifact aunque falle” y publica a prod. always() es para upload de logs.
No es strategy.matrix (expande celdas). El curso instalar un agente no cubre needs. gh pr no ordena jobs.
Receta
test:
runs-on: ubuntu-latest
steps:
- run: pnpm test
deploy:
needs: test
if: success()
runs-on: ubuntu-latest
steps:
- run: echo deploy
logs:
needs: test
if: always()
runs-on: ubuntu-latest
steps:
- uses: actions/upload-artifact@v4
with:
name: logs
path: logs/
if: cancelled() y failure() existen. No inventes if: failed.

Qué no hacer
- Tres jobs sin
needsy un “espero que GitHub los serialice”. needscircular. YAML inválido.if: always()+ Environment production.
needs de una matrix espera todas las celdas.
Receta AGENTS.md
Deploy jobs: needs: test and if: success() (or omit if — default).
if: always() only for logs/artifacts, never production deploy.
Do not skip needs to "save minutes".

FAQ
¿outputs? needs.test.outputs.foo solo si el job test definió outputs.
¿skipped? Un job skipped no es success. Encadena con cuidado (!cancelled()).
¿dos needs? Lista: needs: [a, b]. Ambos deben pasar.
Verificado 2026-09-03 contra GitHub workflow syntax jobs.<job_id>.needs y status check functions (success, always, failure).
De la guía a la práctica
Ruta Pi.dev: instala tu agente de coding
Lleva tus convenciones de trabajo a Pi.dev: instalación, instrucciones, sesiones y operación segura.
Ver el curso gratisContenido gratis, sin registro. Los servicios externos pueden tener costos.
Avisos cuando actualicemos cursos y guías
Recibe actualizaciones por correo. Es opcional: puedes seguir leyendo y abrir cualquier curso sin suscribirte.
Lecturas relacionadas
Sigue explorando Coding Agents y otras piezas para builders.

GitHub Copilot CLI: guía práctica del agente de IA en la terminal

Continue.dev: guía práctica del agente open source en VS Code

Goose: guía práctica del agente open source (CLI, Desktop y MCP)
