-
Notifications
You must be signed in to change notification settings - Fork 157
Description
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: <VAR_NAME>(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
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:
{
"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:
{
"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:
"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
Metadata
Metadata
Assignees
Labels
Type
Projects
Status