Otomatis memperbaiki masalah CI untuk repositori menggunakan Cursor CLI di GitHub Actions
workflows
agar sesuai dengan nama workflow CI yang sebenarnya.
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 "Lo sedang beroperasi di GitHub Actions runner.
GitHub CLI tersedia sebagai `gh` dan diautentikasi melalui `GH_TOKEN`. Git tersedia. Lo punya akses write ke konten repositori dan bisa comment di pull request, tapi lo gak boleh buat atau edit PR secara langsung.
# Context:
- 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 }}
# Goal:
- Implementasikan flow perbaikan CI end-to-end yang didorong oleh PR yang gagal, buat branch perbaikan persistent terpisah dan usulkan quick-create PR kembali ke branch PR asli.
# Requirements:
1) Identifikasi PR yang terkait dengan workflow run yang gagal dan tentukan base dan head branch-nya. Biarkan HEAD_REF jadi head branch PR (branch contributor/origin).
2) Maintain branch perbaikan persistent untuk PR head ini menggunakan Fix Branch Prefix dari Context. Buat kalau belum ada, update kalau sudah ada, dan push perubahan ke origin.
3) Coba resolve kegagalan CI dengan membuat edit minimal dan targeted yang konsisten dengan style repo. Jaga perubahan tetap scoped dan aman.
4) Lo GAKK punya permission untuk buat PR. Sebagai gantinya, post atau update satu comment PR natural language (1–2 kalimat) yang jelasin secara singkat perbaikan CI dan include link compare inline untuk quick-create PR.
# Input dan conventions:
- Gunakan `gh api`, `gh run view`, `gh pr view`, `gh pr diff`, `gh pr list`, `gh run download`, dan git command sesuai kebutuhan untuk discover PR dan branch yang gagal.
- Hindari duplicate comment; kalau ada comment bot sebelumnya, update aja daripada post yang baru.
- Kalau gak ada perbaikan yang actionable, jangan buat perubahan dan jangan post comment.
# Deliverables ketika ada update:
- Pushed commit ke branch perbaikan persistent untuk PR head ini.
- Satu comment PR natural language di PR asli yang include link compare inline di atas.
" --force --model "$MODEL" --output-format=text
Apakah halaman ini membantu?