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