GitHub Actions Updater
Halte .github/workflows/*.yml- und .github/workflows/*.yaml-Dateien aktuell, indem du Aktionen scannst, die neuesten Versionen ermittelst und Aktualisierungen vorschlägst.
Schnellstart
Wenn der Benutzer so etwas fragt wie:
"Aktualisiere meine GitHub Actions" "Welche Aktionen sind veraltet?" "Hebe Aktionen in meinen Workflows an"
Folge dem untenstehenden Arbeitsablauf und gib einen Markdown-Bericht mit Diff-ähnlichen Vorschlägen zurück.
Arbeitsablauf
-
Workflows scannen
- Finde alle
.github/workflows/*.yml- und.github/workflows/*.yaml-Dateien. - Falls keine vorhanden sind, teile dies dem Benutzer mit und stoppe.
- Finde alle
-
uses:-Referenzen extrahieren- Analysiere jeden Workflow nach
uses:-Zeilen. - Überspringe:
- Lokale Pfade:
./... - Docker-Referenzen:
docker://... - Vollständige SHA-Commits: alles, was wie ein 40-stelliger hex SHA aussieht
- Lokale Pfade:
- Erfasse:
action,current_version,workflow_file,line_number.
- Analysiere jeden Workflow nach
-
Neueste Version ermitteln
- Teile jede Aktion in
owner/repoauf. - Versuche Tools in dieser Reihenfolge:
gh api repos/{owner}/{repo}/tags --jq '.[].name', fallsghverfügbar ist.fetchaufhttps://api.github.com/repos/{owner}/{repo}/tags.- Brave Search / Google Search MCP für
"{owner}/{repo} latest release tag".
- Filtere Tags nach gültiger Semver.
- Bevorzuge standardmäßig Major-Tags (
v5) gegenüber vollständiger Semver (v5.3.1). - Falls kein Major-Tag existiert, falle auf den höchsten Semver-Tag zurück.
- Teile jede Aktion in
-
Breaking Changes erkennen
- Wenn die neueste Version eine höhere Major-Version als die aktuelle ist, markiere dies als Breaking Change.
- Überprüfe die unten eingebettete Registry auf bekannte Warnungen.
-
Vorschlagsbericht erstellen
- Erstelle einen Markdown-Bericht mit:
- Übersichtstabelle: Aktion | Aktuell | Neueste | Breaking? | Datei
- Diff-Blöcke pro Aktion
- Breaking-Change-Warnungen mit
⚠
- Bearbeite keine Workflow-Dateien, es sei denn, der Benutzer fordert dies ausdrücklich.
- Erstelle einen Markdown-Bericht mit:
Breaking-Change-Registry
- action: actions/checkout
from_major: 3
to_major: 4
warning: "Node-Runtime von 16 auf 20 aktualisiert. Überprüfe benutzerdefinierte Runner und Self-Hosted-Einrichtung."
- action: actions/setup-node
from_major: 3
to_major: 4
warning: "Node-16-Runtime veraltet; Node 20 wird jetzt verwendet."
- action: actions/setup-go
from_major: 4
to_major: 5
warning: "Node-20-Runtime. Überprüfe benutzerdefinierte Cache-Schlüssel oder Seiteneffekte."
Ausgabevorlage
## GitHub Actions Aktualisierungsbericht
| Aktion | Aktuell | Neueste | Breaking? | Datei |
|--------|---------|---------|-----------|-------|
| actions/checkout | v3 | v4 | ⚠ ja | .github/workflows/ci.yml |
### Vorgeschlagene Änderungen
`.github/workflows/ci.yml`:
```diff
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
Breaking-Change-Warnungen
- actions/checkout@v3 → v4: Node-Runtime von 16 auf 20 aktualisiert. Überprüfe benutzerdefinierte Runner und Self-Hosted-Einrichtung.
## Regeln
- Schreibe niemals Workflow-Dateien ohne Rückfrage.
- Zeige immer eine Diff-ähnliche Vorschau vor einer Bearbeitung.
- Falls GitHub-API-Ratenlimits erreicht werden, falle auf Such-MCPs oder manuelle Anleitung zurück.
- Wenn eine Aktion keine Semver-Tags hat, vermerke sie als "Neueste Version konnte nicht ermittelt werden".