#395 · Herramienta para desarrolladores

GitHub Actions Environment Extractor

Analiza texto YAML de GitHub Actions y reúne las variables declaradas en bloques env junto con las referencias del tipo env.NOMBRE. El extractor usa indentación para identificar bloques habituales de workflow, job y step, y marca referencias que no aparecen declaradas en el texto. Resulta útil para revisar nombres repetidos, detectar variables que parecen faltar y documentar rápidamente qué configuración de entorno utiliza un workflow.

Datos de entrada

Workflow YAML
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega el YAML completo o el fragmento del workflow que quieras revisar.
  2. Decide si quieres mostrar los valores declarados y si deseas limitar la salida a variables referenciadas.
  3. Ejecuta el extractor para obtener el inventario y las referencias no declaradas.
  4. Revisa manualmente secrets, vars y valores heredados, que pertenecen a contextos distintos.

Qué hace esta herramienta para desarrolladores

El inventario distingue variables declaradas en bloques env y nombres usados mediante el contexto env.NOMBRE. Una referencia marcada como no declarada significa únicamente que no se encontró una declaración env en el texto analizado.

Se recorren líneas e indentaciones para localizar bloques env y sus pares clave: valor. En paralelo, una expresión regular recoge referencias ${{ env.NOMBRE }} y compara ambos conjuntos.

GitHub Actions también dispone de contexts como secrets, vars, github y matrix. Esta herramienta no los mezcla con env para evitar conclusiones incorrectas.

Ejemplo

env: NODE_ENV: test steps: - run: echo "${{ env.NODE_ENV }} ${{ env.MISSING }}"

NODE_ENV aparece declarada y referenciada; MISSING se marca como referencia sin declaración local.

Casos de uso

  • Auditar variables de entorno antes de refactorizar un workflow.
  • Encontrar referencias env que podrían estar mal escritas.
  • Preparar documentación interna de configuración de CI.

Consejos para obtener resultados fiables

  • Analiza el workflow completo cuando quieras reducir falsos “no declarados”.
  • No pegues secretos reales en un bloque env para revisarlos.
  • Distingue env de secrets y vars al interpretar resultados.
  • Comprueba el ámbito de job y step cuando una variable cambia de valor.
  • Revisa expresiones multilínea manualmente si el YAML usa estructuras complejas.

Detalles del procesamiento

El análisis es heurístico y basado en texto; no usa un parser YAML externo. Por ello puede inspeccionar workflows sin dependencias, pero conserva una noción aproximada de ámbito basada en indentación.

No resuelve includes, reusable workflows, secrets, vars ni valores inyectados en tiempo de ejecución. Tampoco evalúa expresiones de GitHub Actions.

Preguntas frecuentes

¿Cómo puedo listar todas las variables env usadas en un workflow de GitHub Actions?

Pega el YAML y ejecuta el extractor; obtendrás las variables declaradas en bloques env y las referencias escritas como env.NOMBRE.

¿Qué significa “referencia sin declaración local” en el resultado?

Significa que el nombre aparece como env.NOMBRE pero no se encontró una clave correspondiente en un bloque env del texto pegado.

¿El extractor muestra secrets o vars de GitHub Actions?

No. secrets y vars son contexts distintos y se excluyen deliberadamente del inventario env.

¿Puede detectar variables definidas en un reusable workflow externo?

No. El análisis se limita al texto introducido y no realiza solicitudes de red ni sigue workflows reutilizables.

¿Es seguro mostrar los valores de env en la salida?

La opción existe para configuración no sensible, pero no debes pegar secretos ni credenciales reales en el analizador.

Módulos de la herramienta

MóduloQué comprueba o genera
Detector de bloquesLocaliza env: y lee claves por indentación.
Extractor de referenciasEncuentra expresiones env.NOMBRE.
ComparadorSeñala referencias que no aparecen declaradas localmente.