Feature: warn when workflow YAML validates but would fail at runtime (schema vs runner gap)
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- github-actions, typescript
調査の方向性
まず、既存の workflow YAML スキーマ検証のエントリーポイントと、API ツリーですでに使用されている認証済みセッションを追跡します。action.yml ファイルと workflow トリガーがどのように解決されるかを確認し、そのうえで、4 つの 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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/vscode-github-actions のほかの issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
github/vscode-github-actions#627 · リアクション 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
github/vscode-github-actions#630 ·
-
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 件 ·
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 ·