Article historique. Ce guide décrit Stitch v1, qui tournait dans votre pipeline CI et était distribué via une image Docker. Si vous installez Stitch aujourd’hui, suivez plutôt Démarrer avec Stitch 2.0. Les jobs
stitch-monitor/stitch-healet l’imageghcr.io/x24labs/stitchne sont plus maintenus.
Installer Stitch prend moins de cinq minutes. Vous ajoutez deux jobs à votre configuration CI et Stitch s’occupe du reste. Aucun serveur, aucune clé API à gérer, aucun dashboard à surveiller.
Prérequis
- Un pipeline GitLab CI ou GitHub Actions
- Un dépôt avec au moins un job susceptible d’échouer (lint, tests, type checks, builds)
- La possibilité d’ajouter des jobs à votre configuration CI
Installation GitLab CI
Ajoutez ces deux jobs à votre .gitlab-ci.yml :
stitch-monitor:
stage: .post
image: ghcr.io/x24labs/stitch:latest
script:
- stitch monitor
when: on_failure
stitch-heal:
stage: .post
image: ghcr.io/x24labs/stitch:latest
script:
- stitch heal
needs: ["stitch-monitor"]
when: on_failure
Le job stitch-monitor s’active quand un job en amont échoue. Il lit les logs et identifie l’échec. Le job stitch-heal prend le diagnostic et génère un correctif.
Les deux jobs utilisent le stage .post, donc ils s’exécutent après toutes vos étapes de pipeline habituelles. Ils ne se déclenchent que on_failure, donc ils coûtent zéro temps de calcul quand votre pipeline passe.
Installation GitHub Actions
Ajoutez un fichier workflow à .github/workflows/stitch.yml :
name: Stitch
on:
workflow_run:
workflows: ["CI"]
types: [completed]
jobs:
heal:
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
runs-on: ubuntu-latest
container:
image: ghcr.io/x24labs/stitch:latest
steps:
- uses: actions/checkout@v4
- run: stitch monitor && stitch heal
Ce workflow se déclenche quand votre workflow CI échoue. Il fait un checkout du code, lance le monitor et applique le correctif.
Ce qui se passe ensuite
Quand votre pipeline échoue :
- Stitch lit les logs d’échec
- Il identifie le type d’erreur et les fichiers concernés
- Il génère un patch ciblé
- Il valide le correctif en relançant les vérifications qui ont échoué
- Si le correctif passe, il pousse un commit sur une branche de fix et ouvre une merge request
Vous relisez la MR comme n’importe quel changement de code. Par défaut, l’auto-merge est désactivé. Vous décidez quand le correctif atterrit.
Configuration
Stitch fonctionne avec zéro configuration. Pour les équipes qui veulent plus de contrôle, vous pouvez définir des options via des variables d’environnement :
STITCH_AUTO_MERGE: active l’auto-merge pour les correctifs qui passent (défaut :false)STITCH_MAX_RETRIES: nombre maximum de tentatives par échec (défaut :3)STITCH_BRANCH_PREFIX: préfixe de nommage des branches (défaut :stitch/fix-)
Vérifier l’installation
Poussez un commit qui casse volontairement une règle de lint ou un test. Regardez le pipeline échouer, puis regardez Stitch le récupérer. Vous devriez voir une nouvelle branche et une merge request en quelques minutes.
Si quelque chose ne fonctionne pas, regardez les logs du job Stitch. Ils contiennent le diagnostic complet et toute erreur rencontrée pendant la tentative de correction.
Étapes suivantes
- Lisez Comment les agents IA réparent les pipelines CI pour une plongée technique
- Consultez le dépôt GitHub pour les dernières versions
- Ouvrez une issue si vous rencontrez un problème. Stitch est open source et les contributions sont bienvenues.