Feature: warn when workflow YAML validates but would fail at runtime (schema vs runner gap)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- github-actions, typescript
Rechercherichtung
Beginne damit, den bestehenden Einstiegspunkt für die Schema-Validierung von Workflow-YAML und die bereits für den API-Baum verwendete authentifizierte Sitzung nachzuverfolgen. Prüfe, wie action.yml-Dateien und Workflow-Trigger aufgelöst werden, und ermittle dann, wie die vier optional aktivierbaren Laufzeitprüfungen und der workflow-file-hash-Cache neben der Validierung einzuordnen sind. Erledigt ist die Aufgabe, wenn verwerfbare Information-Diagnosen beim Öffnen und Speichern ausgeführt werden, ohne das Speichern zu blockieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- TypeScript
- Sterne
- 661
- Forks
- 214
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/vscode-github-actions
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
github/vscode-github-actions#627 · 1 Reaktion ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
github/vscode-github-actions#630 ·
-
long work Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
github/vscode-github-actions#628 ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
github/vscode-github-actions#625 ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 64/100
github/vscode-github-actions#621 · 3 Kommentare ·
Alle Issues in github/vscode-github-actions
Ähnliche Issues
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
Mend: dependency security vulnerability untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100