Principal/WordPress Fullstack/Blueprints/IA y Agentes/Self-Healing CI/CD en GitHub Actions con autocorrección de errores
Volver a tarjetas «IA y Agentes»
IA y Agentes(ТЗ 46 из 54)
Especificación: Self-Healing CI/CD en GitHub Actions con autocorrección de errores
IA y Agentes5 шагов • +25 XP

Especificación: Self-Healing CI/CD en GitHub Actions con autocorrección de errores

Diseño de un pipeline autónomo de recuperación automática en GitHub Actions: captura de fallos de pruebas (Vitest/PHPUnit), extracción de trazas y contexto AST, generación de parches mediante agentes LLM y apertura automatizada de Pull Requests.

~10 ч работыУровень: SeniorGitHub Actions WorkflowDocker Isolated RunnerVitest / PlaywrightAnthropic Claude 3.7 / Claude Code@octokit/rest (GitHub API)Node.js 22 LTS
+5 XP за шаг
Выполнено 0 из 5 шагов (0%)
Трудозатраты~10 рабочих часов
Фриланс вилка~$450 – $750 (€400 – €700)
Оценка веб-студии~$950 – $1,600 (€900 – €1500)

ТЗ заказчика (исходный бриф):

«El bot debe corregir el código productivo, NUNCA debilitar o suprimir los tests unitarios que han fallado.»
Ключевые требования:
  • •Disparo condicional de la tarea ante fallos de pasos previos (if: failure())
  • •Procesamiento estructurado de registros de fallos de Vitest / PHPUnit en formato JSON
  • •Extracción AST de archivos fuente vinculados y rangos de líneas relevantes para el contexto del LLM
  • •Ingeniería de prompts para generar parches mínimos en formato Unified Diff
  • •Mecanismo de seguridad: verificación automática de que ningún archivo de prueba (*.test.*, *Test.php) haya sido modificado
Ограничения проекта:
  • •Límite de presupuesto: máximo 3 intentos de corrección por ejecución de pipeline
  • •Tamaño del parche restringido a un máximo de 100 líneas de diff
Критерии приёмки (KPI):
  • ≥ 60% de resolución automática exitosa de compilaciones fallidas
  • Tiempo medio de recuperación ante fallos < 3 minutos
  • Cero modificaciones manuales requeridas en los PR generados

Пошаговое практическое руководство по ТЗ

Подробный разбор архитектуры, код реализации и советы эксперта по каждому этапу:

1
Этап 1 из 5

Paso 1: Configuración de GitHub Actions con disparador condicional if: failure()

~45 минСредний

Практическое руководство:

Configure un job de autocorrección en .github/workflows/ci.yml con la condición if: failure(). Asegure el acceso a las claves de API de IA almacenadas en los secretos del repositorio.

План и контрольные точки реализации:
1Настроить вывод тестов в формат JSON
2Сконфигурировать upload/download артефактов
3Выдать необходимые permissions для GITHUB_TOKEN
Важные технические нюансы и подводные камни:

Asigne los permisos contents: write y pull-requests: write dentro de la configuración del job.

Ожидаемый артефакт этапа:

GitHub Actions пайплайн с изолированной джобой авто-исправления.

YAML
name: Continuous Integration & Self-Healing

on:
  push:
    branches: [main, develop]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v3
        with:
          version: 9
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: 'pnpm'

      - run: pnpm install --frozen-lockfile
      - name: Run Test Suite
        id: run_tests
        run: pnpm test --reporter=json --outputFile=test-results.json

      - name: Upload Test Results on Failure
        if: failure()
        uses: actions/upload-artifact@v4
        with:
          name: vitest-failure-report
          path: test-results.json

  auto-heal:
    needs: test
    if: failure()
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: actions/download-artifact@v4
        with:
          name: vitest-failure-report
      - name: Run Self-Healing Agent
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: node scripts/self-heal/agent-fix-runner.mjs
2
Этап 2 из 5

Paso 2: Procesamiento de registros de error y localización del contexto

~45 минСредний
3
Этап 3 из 5

Paso 3: Ciclo de agente para generación y aplicación de parches

~60 минСложный
4
Этап 4 из 5

Paso 4: Barrera de seguridad: comprobación de integridad de los tests

~30 минЛегкий
5
Этап 5 из 5

Paso 5: Ejecución de verificación y apertura automática de Pull Request

~45 минСредний

Типичные грабли на этом ТЗ

3 антипаттерна

Что сдаём клиенту (Deliverables)

Чек-лист сдачи
Файл GitHub Actions workflow (.github/workflows/self-heal-ci.yml)
Скрипт парсинга логов Vitest/Jest (extract-failure-context.mjs)
Изолированный агентский скрипт исправления (agent-fix-runner.mjs)
Автоматическое открытие Pull Request через Octokit с детальным описанием
Защитный валидатор (test-tampering-detector.mjs) против изменения файлов тестов

Инструменты экосистемы Fullstack AI Lab для этого ТЗ

Интеграция