github / github/vscode-github-actions
Feature Request: Granular control over workflow validation diagnostics
- Ngôn ngữ chính
- TypeScript
- Star
- 660
- Fork
- 213
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## 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
Hướng dẫn đóng góp
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- github-actions, typescript
- Lĩnh vực
- developer-experience, tooling
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100