github / github/vscode-github-actions

Feature Request: Granular control over workflow validation diagnostics

Abierto
#551 1 comentario 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
660
Forks
213
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

## Problem

The extension currently provides no user-configurable settings to control which validation diagnostics are shown in the Problems panel. Users cannot suppress specific categories of warnings/errors without disabling the extension entirely or changing file associations to plain YAML (losing all GitHub Actions language features).

## Current Behavior

The extension surfaces diagnostics like:
- `Context access might be invalid: ` (severity: hint)
- Expression validation errors
- Schema validation warnings

These are generated for valid workflow patterns (e.g., outputs set via `$GITHUB_OUTPUT` and referenced in subsequent jobs) that the static analyzer cannot fully resolve.

## Example

```yaml
jobs:
build:
outputs:
version: ${{ steps.version.outputs.DF_VERSION }}
steps:
- id: version
run: echo "DF_VERSION=$(cat VERSION)" >> $GITHUB_OUTPUT

deploy:
needs: build
steps:
- run: echo "Deploying ${{ needs.build.outputs.DF_VERSION }}"
# ⚠️ "Context access might be invalid: DF_VERSION"
```

The warning is a false positive—the workflow is correct, but the extension cannot trace the dynamic output.

## Requested Feature

Add granular settings to control validation behavior, for example:

```json
{
"github-actions.validation.enabled": true,
"github-actions.validation.severity": {
"context-access": "ignore", // or "hint" | "warning" | "error"
"unknown-action": "warning",
"deprecated-command": "hint",
"schema": "error",
"expression": "warning"
}
}
```

Alternatively, a simpler approach:

```json
{
"github-actions.validation.suppressedRules": [
"context-access",
"deprecated-command"
]
}
```

## Benefits

- Users can tailor validation to their workflow patterns
- Reduces noise from false positives without losing useful diagnostics
- Aligns with patterns in other linting extensions (ESLint, Pylint, etc.)

## Workaround (Current)

The only workaround is to change file associations:

```json
"files.associations": {
".github/workflows/*.yml": "yaml"
}
```

This disables **all** GitHub Actions features, which is undesirable.

## Environment

- Extension version: 0.29.1
- VS Code version: 1.96.x
- OS: macOS

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza revisando cómo la extensión produce actualmente diagnósticos de validación de context-access, expression, schema y de otras categorías, y compara después esas rutas con la configuración propuesta. El trabajo estará terminado cuando incluya un modelo de configuración acordado que permita a los usuarios habilitar la validación y controlar o suprimir categorías de diagnósticos sin deshabilitar las funcionalidades de lenguaje de GitHub Actions.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github-actions, typescript
Área
developer-experience, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.