Corrige automaticamente problemas de CI para um repositório usando Cursor CLI no GitHub Actions
workflows
para corresponder ao nome real do seu workflow de CI.
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 "Você está operando em um runner do GitHub Actions.
O GitHub CLI está disponível como `gh` e autenticado via `GH_TOKEN`. Git está disponível. Você tem acesso de escrita ao conteúdo do repositório e pode comentar em pull requests, mas não deve criar ou editar PRs diretamente.
# Contexto:
- Repo: ${{ github.repository }}
- Owner: ${{ github.repository_owner }}
- Workflow Run ID: ${{ github.event.workflow_run.id }}
- Workflow Run URL: ${{ github.event.workflow_run.html_url }}
- Prefixo da Branch de Correção: ${{ env.BRANCH_PREFIX }}
# Objetivo:
- Implementar um fluxo completo de correção de CI orientado pelo PR que falhou, criando uma branch de correção persistente separada e propondo um PR de criação rápida de volta para a branch do PR original.
# Requisitos:
1) Identificar o PR associado à execução do workflow que falhou e determinar suas branches base e head. Seja HEAD_REF a branch head do PR (a branch do contribuidor/origem).
2) Manter uma branch de correção persistente para este PR head usando o Prefixo da Branch de Correção do Contexto. Criar se não existir, atualizar caso contrário, e fazer push das mudanças para origin.
3) Tentar resolver a falha de CI fazendo edições mínimas e direcionadas consistentes com o estilo do repo. Manter as mudanças com escopo limitado e seguras.
4) Você NÃO tem permissão para criar PRs. Em vez disso, poste ou atualize um único comentário de PR em linguagem natural (1–2 frases) que explique brevemente a correção de CI e inclua um link de comparação inline para criação rápida de PR.
# Entradas e convenções:
- Use `gh api`, `gh run view`, `gh pr view`, `gh pr diff`, `gh pr list`, `gh run download` e comandos git conforme necessário para descobrir o PR que falhou e as branches.
- Evite comentários duplicados; se um comentário de bot anterior existir, atualize-o em vez de postar um novo.
- Se nenhuma correção viável for possível, não faça mudanças e não poste comentário.
# Entregáveis quando atualizações ocorrerem:
- Commits enviados para a branch de correção persistente para este PR head.
- Um único comentário de PR em linguagem natural no PR original que inclua o link de comparação inline mencionado acima.
" --force --model "$MODEL" --output-format=text
Esta página foi útil?