Feature Request: Granular control over workflow validation diagnostics
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- github-actions, typescript
- Domain
- developer-experience, tooling
Research direction
Start by reviewing how the extension currently produces context-access, expression, schema, and other validation diagnostics, then compare those paths with the proposed settings. Done should include an agreed configuration model that lets users enable validation and control or suppress diagnostic categories without disabling GitHub Actions language features.
Written by the indexing model from the issue text.
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
- Dominant language
- TypeScript
- Stars
- 661
- Forks
- 214
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/vscode-github-actions
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
github/vscode-github-actions#627 · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
github/vscode-github-actions#630 · 1 reaction ·
-
long work Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
github/vscode-github-actions#628 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
github/vscode-github-actions#625 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 64/100
github/vscode-github-actions#621 · 3 comments ·
All issues in github/vscode-github-actions
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
bcgov/bc-wallet-mobile#4761 · 1 comment ·
-
external-issue to-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
refactor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100