Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Feature Request: Granular control over workflow validation diagnostics

Open
#551 1 comment 1 reaction 0 assignees View on GitHub

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

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from github/vscode-github-actions

All issues in github/vscode-github-actions

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.