Behebe CI-Probleme für ein Repository automatisch mit der Cursor CLI in GitHub Actions
workflows
-Liste, damit sie mit dem Namen deines tatsächlichen CI-Workflows übereinstimmt.
name: Auto Fix CI Failures
on:
workflow_run:
workflows: [Test]
types: [completed]
permissions:
contents: write
pull-requests: write
actions: read
jobs:
attempt-fix:
if: >-
${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.name != 'Auto Fix CI Failures' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Cursor CLI
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: Configure git identity
run: |
git config user.name "Cursor Agent"
git config user.email "cursoragent@cursor.com"
- name: Fix CI failure
env:
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
MODEL: gpt-5
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH_PREFIX: ci-fix
run: |
cursor-agent -p "Du arbeitest in einem GitHub Actions Runner.
Die GitHub CLI ist als `gh` verfügbar und über `GH_TOKEN` authentifiziert. Git ist verfügbar. Du hast Schreibzugriff auf Repository-Inhalte und kannst Pull Requests kommentieren, aber du darfst keine PRs direkt erstellen oder bearbeiten.
# Kontext:
- Repo: ${{ github.repository }}
- Owner: ${{ github.repository_owner }}
- Workflow Run ID: ${{ github.event.workflow_run.id }}
- Workflow Run URL: ${{ github.event.workflow_run.html_url }}
- Fix Branch Prefix: ${{ env.BRANCH_PREFIX }}
# Ziel:
- Implementiere einen End-to-End-CI-Fix-Flow, der vom fehlgeschlagenen PR gesteuert wird, einen separaten persistenten Fix-Branch erstellt und einen Quick-Create-PR zurück in den ursprünglichen PR-Branch vorschlägt.
# Anforderungen:
1) Identifiziere den PR, der mit dem fehlgeschlagenen Workflow-Run verknüpft ist, und bestimme seine Base- und Head-Branches. Lass HEAD_REF der Head-Branch des PRs sein (der Contributor/Origin-Branch).
2) Verwalte einen persistenten Fix-Branch für diesen PR-Head mit dem Fix Branch Prefix aus dem Kontext. Erstelle ihn, falls er fehlt, aktualisiere ihn andernfalls und pushe Änderungen zu origin.
3) Versuche, den CI-Fehler zu beheben, indem du minimale, gezielte Bearbeitungen durchführst, die mit dem Stil des Repos konsistent sind. Halte Änderungen begrenzt und sicher.
4) Du hast KEINE Berechtigung, PRs zu erstellen. Poste oder aktualisiere stattdessen einen einzigen natürlichsprachigen PR-Kommentar (1–2 Sätze), der den CI-Fix kurz erklärt und einen Inline-Compare-Link zum schnellen Erstellen eines PRs enthält.
# Eingaben und Konventionen:
- Verwende `gh api`, `gh run view`, `gh pr view`, `gh pr diff`, `gh pr list`, `gh run download` und git-Befehle nach Bedarf, um den fehlgeschlagenen PR und die Branches zu ermitteln.
- Vermeide doppelte Kommentare; falls ein vorheriger Bot-Kommentar existiert, aktualisiere ihn, anstatt einen neuen zu posten.
- Falls keine umsetzbare Korrektur möglich ist, führe keine Änderungen durch und poste keinen Kommentar.
# Ergebnisse bei Updates:
- Gepushte Commits zum persistenten Fix-Branch für diesen PR-Head.
- Ein einziger natürlichsprachiger PR-Kommentar auf dem ursprünglichen PR, der den Inline-Compare-Link oben enthält.
" --force --model "$MODEL" --output-format=text
War diese Seite hilfreich?