OpenAI Codex: naprawa testów, które nie przechodzą w CI
Pipeline na mojej gałęzi jest czerwony, padają trzy testy, a lokalnie wszystko wygląda dobrze. Chcę, żeby agent przeczytał log z CI, odtworzył błąd i zaproponował najmniejszą poprawkę, zamiast żebym godzinę przekopywał się przez stack trace.
Dla kogo: programista · Sprawdzone 08.10.2026 · Autor: Karol Krawczyk
Wymagania
- Plan ChatGPT z Codexem: według cennika Codex jest w planach Free, Go, Plus, Pro, Business, Edu i Enterprise. W firmie: Business albo Enterprise, logowanie przez Sign in with ChatGPT na koncie służbowym.
- W Enterprise administrator musi zezwolić na lokalny Codex w ustawieniach workspace'u: Allow members to use Codex locally (albo Allow members to use Codex and Work Locally, zależnie od układu ustawień). Codex Cloud jest w Enterprise domyślnie wyłączony.
- Codex CLI na macOS lub Linux: curl -fsSL https://chatgpt.com/codex/install.sh | sh, albo npm install -g @openai/codex lub brew install --cask codex. README podaje też instalator dla Windows (PowerShell).
- Repozytorium git. W folderze pod kontrolą wersji Codex proponuje tryb Auto: zapis w obrębie projektu i pytanie o zgodę przy wyjściu poza niego. Dostęp do sieci jest w tym trybie domyślnie wyłączony.
- GitHub CLI (gh) do pobrania logu z nieudanego joba albo log skopiowany ręcznie z widoku Actions.
Kroki
- Dodaj do AGENTS.md w katalogu głównym repozytorium komendy testów i zakazy, np.: ## Testy - Instalacja zależności: npm ci - Wszystkie testy: npm test - Nie oznaczaj testów jako skip i nie zmieniaj plików w .github/workflows. Codex czyta AGENTS.md przy starcie, łącznie do 32 KiB. Szkic pliku tworzy komenda /init.
- Zapisz log z nieudanych kroków do pliku poza commitem: gh run view <id-przebiegu> --log-failed > ci-failed.log.
- Uruchom Codex w katalogu repozytorium: codex --sandbox workspace-write --ask-for-approval on-request. Komendą /status sprawdź konfigurację sesji.
- Wklej prompt poniżej. Gdy Codex poprosi o zgodę na polecenie wymagające sieci (np. instalację zależności), przeczytaj je przed zatwierdzeniem.
- Po zakończeniu uruchom /review, żeby Codex przejrzał własne zmiany, potem sam uruchom testy i przeczytaj diff. Dopiero wtedy commit i push.
- Alternatywa bez lokalnej kopii: w komentarzu do PR-a napisz @codex fix the CI failures. Wymaga repozytorium połączonego z Codexem i uruchamia zadanie w chmurze (legacy cloud chat), które może wypchnąć poprawkę na gałąź, jeśli ma uprawnienia.
Prompt do skopiowania
Testy w CI nie przechodzą na tej gałęzi. Log z nieudanych kroków jest w pliku ci-failed.log. Przeczytaj go, odtwórz błąd lokalnie komendą testów z AGENTS.md i ustal przyczynę. Zanim cokolwiek zmienisz, napisz w dwóch, trzech zdaniach, czy problem jest w kodzie, w teście czy w środowisku (np. różnica wersji, strefa czasowa, kolejność testów). Potem wprowadź najmniejszą zmianę, która usuwa przyczynę. Nie wyłączaj testów, nie dodawaj skip ani ponowień, nie zmieniaj konfiguracji CI i nie poprawiaj niezwiązanych plików. Na koniec uruchom testy ponownie i pokaż wynik oraz listę zmienionych plików.
Wynik
Diagnoza w kilku zdaniach, mała zmiana w jednym lub kilku plikach i ponowny przebieg testów, który przechodzi lokalnie. Sprawdź diff: jeśli poprawka zmienia oczekiwaną wartość w asercji, upewnij się, że to test był błędny, a nie kod. Ostatecznym sprawdzeniem jest zielony pipeline po pushu, bo lokalny przebieg nie musi odtwarzać środowiska CI.
Najczęstszy błąd
Przyjęcie poprawki, która osłabia test zamiast naprawić kod, np. zmienia oczekiwany wynik albo szeroko łapie wyjątek. Zabroń tego w AGENTS.md i w prompcie, a diff asercji czytaj zawsze.
Kiedy tego nie robić
Gdy test pada przez brak sekretu, niedostępny serwis zewnętrzny albo limit runnera w CI: to sprawa konfiguracji pipeline'u, nie kodu. Nie dawaj też agentowi trybu danger-full-access ani --yolo na maszynie z dostępem do produkcji.
Źródła
- Codex Docs: Pricing
- Codex Docs: CLI
- Codex Docs: CLI reference (developer commands)
- Codex Docs: Agent approvals and security
- Codex Docs: AGENTS.md
- Codex Docs: GitHub
- Codex Docs: Non-interactive mode (autofix CI)
- Codex Docs: Enterprise admin setup
- GitHub: openai/codex README
- GitHub CLI manual: gh run view
Stan na 08.10.2026. Interfejs i plany licencji zmieniają się często, przed szkoleniem zespołu sprawdź je u siebie.
Chcesz przećwiczyć to z trenerem na własnych plikach? Zobacz: Kurs Claude Code i Codex dla programistów.
Chcesz przełożyć to na swój zespół?
Szkolimy zespoły z pracy z Copilotem, Claude Code i Codexem na ich własnych zadaniach.