Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Feature: warn when workflow YAML validates but would fail at runtime (schema vs runner gap)

Offen
#611 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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
Bereich
ci-cd, devtools

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 runner
  • uses: owner/repo@ref where ref no longer resolves (deleted tag/branch, moved SHA)
  • secrets: inherit on a reusable workflow whose caller does not actually inherit
  • permissions: 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.* on push)

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:

  1. Unresolvable uses: refs (HEAD probe via the authenticated session already used for the API tree)
  2. runs-on: labels not present in the repo's runner list
  3. permissions: narrower than the union of permissions declared by any resolvable action's action.yml
  4. 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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus github/vscode-github-actions

Alle Issues in github/vscode-github-actions

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.