Corrige automáticamente problemas de CI para un repositorio usando Cursor CLI en GitHub Actions
workflows
para que coincida con el nombre real de tu 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 "Estás operando en un runner de GitHub Actions.
El GitHub CLI está disponible como `gh` y autenticado vía `GH_TOKEN`. Git está disponible. Tienes acceso de escritura al contenido del repositorio y puedes comentar en pull requests, pero no debes crear o editar PRs directamente.
# 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 }}
- Fix Branch Prefix: ${{ env.BRANCH_PREFIX }}
# Objetivo:
- Implementar un flujo de corrección de CI de extremo a extremo impulsado por el PR que falla, creando una rama de corrección persistente separada y proponiendo un PR de creación rápida de vuelta a la rama del PR original.
# Requisitos:
1) Identificar el PR asociado con la ejecución del workflow fallido y determinar sus ramas base y head. Sea HEAD_REF la rama head del PR (la rama del contribuidor/origen).
2) Mantener una rama de corrección persistente para este PR head usando el Fix Branch Prefix del Contexto. Créala si no existe, actualízala en caso contrario, y haz push de los cambios al origen.
3) Intentar resolver el fallo de CI haciendo ediciones mínimas y específicas consistentes con el estilo del repo. Mantén los cambios acotados y seguros.
4) NO tienes permiso para crear PRs. En su lugar, publica o actualiza un solo comentario de PR en lenguaje natural (1–2 oraciones) que explique brevemente la corrección de CI e incluya un enlace de comparación inline para crear rápidamente un PR.
# Inputs y convenciones:
- Usa `gh api`, `gh run view`, `gh pr view`, `gh pr diff`, `gh pr list`, `gh run download`, y comandos git según sea necesario para descubrir el PR que falla y las ramas.
- Evita comentarios duplicados; si existe un comentario previo del bot, actualízalo en lugar de publicar uno nuevo.
- Si no es posible una corrección viable, no hagas cambios y no publiques comentarios.
# Entregables cuando ocurran actualizaciones:
- Commits pusheados a la rama de corrección persistente para este PR head.
- Un solo comentario de PR en lenguaje natural en el PR original que incluya el enlace de comparación inline mencionado arriba.
" --force --model "$MODEL" --output-format=text
¿Esta página le ayudó?