Aller au contenu principal

Intégration CI/CD

Codex dans votre pipeline de livraison

Codex ne se limite pas aux tâches manuelles lancées par un développeur. Il s’intègre dans vos pipelines CI/CD pour automatiser des tâches de développement à chaque étape du cycle de livraison.

Review automatique sur les PRs

Le cas le plus courant : Codex review chaque PR automatiquement via GitHub Actions.

# .github/workflows/codex-review.yml
name: Codex Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Codex Review
        uses: openai/codex-action@v1
        with:
          task: "review"
          criteria: |
            - Sécurité : injections, auth manquante
            - Performance : requêtes N+1, boucles
            - Types : pas de any, types stricts
            - Tests : couverture des changements
          api-key: ${{ secrets.OPENAI_API_KEY }}

Codex poste ses commentaires directement sur la PR GitHub, comme un reviewer humain.

Génération de tests sur les fichiers modifiés

Automatisez la génération de tests pour chaque PR :

# .github/workflows/codex-tests.yml
name: Codex Generate Tests
on:
  pull_request:
    types: [opened]

jobs:
  generate-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Generate missing tests
        uses: openai/codex-action@v1
        with:
          task: "generate-tests"
          scope: "changed-files"
          framework: "vitest"
          api-key: ${{ secrets.OPENAI_API_KEY }}

Codex identifie les fichiers modifiés dans la PR qui n’ont pas de tests, et propose les tests manquants en commentaire ou en commit supplémentaire.

Correction automatique des erreurs CI

Quand la CI échoue, Codex peut analyser l’erreur et proposer un fix :

# .github/workflows/codex-fix.yml
name: Codex Auto-Fix
on:
  workflow_run:
    workflows: ["CI"]
    types: [completed]

jobs:
  fix:
    if: ${{ github.event.workflow_run.conclusion == failure }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Analyze and fix CI failure
        uses: openai/codex-action@v1
        with:
          task: "fix-ci"
          api-key: ${{ secrets.OPENAI_API_KEY }}

Codex lit les logs d’erreur de la CI, identifie la cause, et pousse un commit de correction sur la branche.

Utiliser le CLI dans les scripts

Le CLI Codex s’intègre dans n’importe quel script d’automatisation :

#!/bin/bash
# Script de pre-commit hook

# Vérifier que les fichiers modifiés ont des tests
CHANGED=$(git diff --cached --name-only --diff-filter=ACM | grep .ts)
for file in $CHANGED; do
  test_file="${file%.ts}.test.ts"
  if [ ! -f "$test_file" ]; then
    echo "⚠️ Fichier sans test : $file"
    codex "Génère les tests pour $file" --apply
    git add "$test_file"
  fi
done

Scénarios d’intégration CI/CD

Étape CI/CD Tâche Codex Déclencheur
PR ouverte Review automatique pull_request opened
PR ouverte Génération de tests pull_request opened
CI en échec Analyse et correction workflow_run failure
Release Changelog automatique tag push
Dépendance mise à jour Vérification compatibilité Dependabot PR

Bonnes pratiques

  • Limitez les droits : utilisez un token API dédié avec des permissions minimales
  • Reviewez les corrections automatiques : ne mergez jamais automatiquement un fix Codex sans review
  • Configurez des limites : nombre de tâches par jour, coût maximum
  • Loguez tout : gardez un historique des tâches Codex dans la CI pour l’audit

Points clés à retenir

  • Codex s’intègre dans GitHub Actions et d’autres systèmes CI/CD
  • La review automatique sur les PRs est le cas d’usage le plus courant
  • Codex peut corriger les échecs CI automatiquement
  • Le CLI permet l’intégration dans des scripts personnalisés
  • Gardez toujours un humain dans la boucle pour valider les corrections