Feature: warn when workflow YAML validates but would fail at runtime (schema vs runner gap)
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- github-actions, typescript
调研方向
首先跟踪现有的 workflow YAML schema 验证入口,以及 API 树已经使用的已认证会话。检查 action.yml 文件和 workflow 触发器是如何解析的,然后确定四个 opt-in 运行时检查和 workflow-file-hash 缓存如何与验证并列配合。完成标准是:可忽略的 Information 诊断会在打开和保存时运行,且不会阻止保存。
由索引模型根据 Issue 内容生成。
描述
Summary
Extension validates workflow YAML against the schema, but many mistakes only surface after git push triggers a runner:
runs-on:referencing a self-hosted label that has no online runneruses: owner/repo@refwhererefno longer resolves (deleted tag/branch, moved SHA)secrets: inheriton a reusable workflow whose caller does not actually inheritpermissions:narrower than what a step needs (e.g.contents: read+ a step that pushes)if:expression referencing a context that is empty for the trigger (e.g.github.event.pull_request.*onpush)
Each case validates green locally, then burns a runner minute and a red X on the PR.
Proposal
A "runtime-plausibility" pass, opt-in (github-actions.runtimeChecks.enabled), that runs alongside schema validation and surfaces Information-level diagnostics for:
- Unresolvable
uses:refs (HEAD probe via the authenticated session already used for the API tree) runs-on:labels not present in the repo's runner listpermissions:narrower than the union of permissions declared by any resolvable action'saction.yml- Context references that are empty for the declared
on:triggers
None block save; all are dismissible. Runs on open + on save, cached by workflow-file hash.
Why not act / nektos
act runs the whole workflow in Docker; this is a static, seconds-scale lint. Complementary, not overlapping.
Related
- #593 (commit-pinned actions reported unresolved) - same "static analysis of
uses:" surface - #609 (false-positive missing-required-inputs) - related schema-vs-runtime gap in the other direction
- 主要语言
- TypeScript
- 星标
- 661
- 派生
- 214
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/vscode-github-actions 的其他 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 76/100
github/vscode-github-actions#627 · 1 个 reaction ·
-
long work 未关闭
难度 4/5 3-5 天 新手友好度 25/100
github/vscode-github-actions#628 ·
-
bug
难度 3/5 1-2 天 新手友好度 55/100
github/vscode-github-actions#625 ·
-
bug
难度 3/5 1-2 天 新手友好度 64/100
github/vscode-github-actions#621 · 3 条评论 ·
-
难度 3/5 1-2 天 新手友好度 50/100
github/vscode-github-actions#619 ·
查看 github/vscode-github-actions 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
bug v2
难度 2/5 1-3 小时 新手友好度 75/100
modelcontextprotocol/inspector#2458 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
难度 2/5 1-3 小时 新手友好度 70/100
carbon-design-system/ibm-products#9907 ·