Communitygithub.com

GitHub Actions Updater (lynicis/actup)

Aktualisiere GitHub Actions Versionen interaktiv direkt von deinem Terminal aus.

Was ist actup)?

Diese Fähigkeit ermöglicht es einem KI-Agenten, den Lebenszyklus von GitHub Actions Workflows zu verwalten, indem sie veraltete `uses:`-Referenzen identifiziert, die neuesten verfügbaren Versionen auflöst und Aktualisierungsvorschläge in einem übersichtlichen Markdown-Bericht präsentiert. Der Agent scannt alle `.yml`- und `.yaml`-Dateien in `.github/workflows/`, extrahiert Aktionen, springt lokale Pfade, Docker-Referenzen und vollständige SHA-Commits aus und ermittelt dann die neueste Version über die GitHub CLI, die API oder Such-MCPs (z. B. Brave Search). Breaking Changes werden anhand einer eingebetteten Registry erkannt und deutlich gekennzeichnet. Die Fähigkeit ist für Entwickler gedacht, die in Claude Code, Cursor oder Codex arbeiten, und stellt sicher, dass Workflows aktuell und sicher bleiben, ohne dass Dateien ohne explizite Benutzeranfrage bearbeitet werden. Der Agent gibt stets einen Diff-ähnlichen Vorschaubericht aus, bevor Änderungen vorgenommen werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add lynicis/actup

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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

  1. Workflows scannen

    • Finde alle .github/workflows/*.yml- und .github/workflows/*.yaml-Dateien.
    • Falls keine vorhanden sind, teile dies dem Benutzer mit und stoppe.
  2. 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
    • Erfasse: action, current_version, workflow_file, line_number.
  3. Neueste Version ermitteln

    • Teile jede Aktion in owner/repo auf.
    • Versuche Tools in dieser Reihenfolge:
      1. gh api repos/{owner}/{repo}/tags --jq '.[].name', falls gh verfügbar ist.
      2. fetch auf https://api.github.com/repos/{owner}/{repo}/tags.
      3. 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.
  4. 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.
  5. 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.

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".

Verwandte Skills