Przejdź do głównej zawartości

Workflow automatyzacji Pull Request

Proces PR w twoim zespole stał się wąskim gardłem. PR-y czekają dwa dni na recenzję. Gdy recenzje wreszcie następują, wyłapują problemy wymagające drugiej rundy. Kolejne commity psują CI, co wymaga kolejnego cyklu recenzji. Pojedyncza funkcja potrzebuje tygodnia od “ready for review” do “merged”. Z Codex możesz zautomatyzować każdy krok: tworzyć PR-y z worktree, otrzymywać natychmiastową recenzję AI, naprawiać awarie CI bez opuszczania GitHub i przygotowywać PR-y do finalnej ludzkiej recenzji z wszystkimi problemami wstępnie rozwiązanymi.

  • Pipeline worktree-do-PR tworzący PR-y bezpośrednio z Codex App
  • Wzorce @codex do naprawiania awarii CI i zamawiania recenzji na GitHub
  • Workflow GitHub Action do automatycznej recenzji na każdym PR
  • Techniki łączenia automatycznej i ludzkiej recenzji

Gdy wątek worktree Codex zakończy swoje zadanie, możesz przejść od diffa do otwartego PR bez opuszczania App. To najszybsza droga od implementacji do recenzji.

W Codex App, po zakończeniu wątku worktree:

  1. Przejrzyj diff w panelu recenzji. Dodaj zmiany, które chcesz, cofnij te, których nie chcesz.
  2. Kliknij Create branch here, aby zamienić worktree w nazwaną gałąź.
  3. Commituj dodane zmiany z opisową wiadomością.
  4. Wypchnij gałąź na remote za pomocą przycisku push.
  5. Otwórz pull request bezpośrednio z App.

Aby PR był tworzony automatycznie, możesz też zlecić to Codex:

Gdy PR jest otwarty na GitHub, otrzymaj natychmiastowy feedback bez czekania na ludzkiego recenzenta.

Skomentuj PR:

@codex review

Codex reaguje emoji oczu, analizuje cały diff i publikuje standardową recenzję kodu GitHub z komentarzami inline. Recenzja obejmuje poprawność, bezpieczeństwo i utrzymywalność na podstawie wytycznych recenzji z twojego AGENTS.md.

Dla ukierunkowanych recenzji dodaj instrukcje:

@codex review with focus on:
- Database query performance (check for missing indexes and N+1 patterns)
- Error handling completeness
- API backward compatibility

Gdy CI nie przejdzie na twoim PR, nie musisz pobierać gałęzi lokalnie, szukać co się zepsuło, naprawiać i wypychać ponownie. Skomentuj PR:

Codex tworzy zadanie chmurowe, które:

  1. Czyta diff PR i logi awarii CI
  2. Identyfikuje przyczynę źródłową
  3. Proponuje poprawkę
  4. Publikuje wyniki z powrotem na PR z linkiem do zadania chmurowego

Jeśli poprawka obejmuje zmiany w kodzie, możesz utworzyć nowy PR z zadania chmurowego celujący w twoją gałąź funkcji. Lub otwórz zadanie chmurowe, przejrzyj diff i zastosuj zmiany ręcznie.

Dla konkretnych awarii CI:

@codex The TypeScript type check fails because the new NotificationPreference interface is missing the updatedAt field that the migration added. Fix the type definition and any related code.

Przed poproszeniem o ludzką recenzję użyj Codex App do wyczyszczenia typowych problemów. Otwórz wątek Local z twoją gałęzią funkcji:

Review all changes on this branch compared to main. Check for:
1. Any TODO comments that should be resolved before merging
2. Console.log or debugging statements left in production code
3. Missing or incomplete test coverage for new functions
4. Unused imports or dead code
5. Inconsistent error handling patterns
Fix any issues you find. Run the test suite after each fix.

Następnie użyj /review w CLI, aby zweryfikować sprzątanie:

/review Focus on merge readiness. Is this PR ready for human review? Flag anything a reviewer would send back for changes.

Połącz GitHub Action z @codex review dla w pełni zautomatyzowanego pipeline PR:

name: PR Pipeline
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
# Step 1: Standard CI checks
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: npm ci
- run: npm run type-check
- run: npm run lint
- run: npm test
# Step 2: Codex review (runs in parallel with CI)
codex-review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v5
with:
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Fetch refs
run: |
git fetch --no-tags origin \
${{ github.event.pull_request.base.ref }} \
+refs/pull/${{ github.event.pull_request.number }}/head
- uses: openai/codex-action@v1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
prompt-file: .github/codex/prompts/review.md
sandbox: read-only
safety-strategy: drop-sudo
# Step 3: Post combined results
summary:
needs: [ci, codex-review]
if: always()
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Post status summary
uses: actions/github-script@v7
with:
script: |
const ci = '${{ needs.ci.result }}';
const review = '${{ needs.codex-review.result }}';
const body = `## PR Pipeline Summary\n\n` +
`| Check | Status |\n|---|---|\n` +
`| CI (lint, types, tests) | ${ci} |\n` +
`| Codex Review | ${review} |\n`;
await github.rest.issues.createComment({
...context.repo,
issue_number: context.payload.pull_request.number,
body
});

Dla zespołów, które chcą recenzji na każdym PR bez ręcznych komentarzy @codex review, włącz Automatic reviews w ustawieniach Codex na chatgpt.com/codex/settings/code-review. Po włączeniu Codex publikuje recenzję na każdym PR otwartym do recenzji, zachowując się jak dedykowany recenzent zespołowy.

Recenzja Codex i ludzka recenzja są sprzeczne. Jeśli Codex mówi “to jest ok”, a ludzki recenzent mówi “zmień to”, człowiek wygrywa. Sprecyzuj to w procesie zespołu: recenzja Codex wyłapuje oczywiste problemy wcześnie; ludzka recenzja zajmuje się osądami architektonicznymi i poprawnością logiki biznesowej.

Tworzenie PR z worktree nie udaje się z powodu konfliktów gałęzi. Jeśli twój worktree został utworzony z gałęzi, która od tamtej pory otrzymała nowe commity, PR może mieć konflikty. Przed utworzeniem PR zsynchronizuj worktree z najnowszą gałęzią bazową za pomocą zintegrowanego terminala: git fetch origin main && git rebase origin/main.

@codex fix tworzy poprawkę na złej gałęzi. Zadania chmurowe domyślnie korzystają z domyślnej gałęzi repozytorium. Gdy komentujesz @codex fix na PR, Codex powinien pracować na gałęzi PR, ale zweryfikuj, czy powstałe zmiany celują w odpowiednią gałąź.

Zbyt wiele automatycznych komentarzy na jednym PR. Jeśli zarówno GitHub Action, jak i @codex review się uruchamiają, plus Codex publikuje propozycje poprawek, PR może stać się hałaśliwy. Wybierz jeden mechanizm recenzji: albo GitHub Action dla recenzji zintegrowanej z CI, albo @codex review (lub automatyczne recenzje) dla recenzji na żądanie. Nie uruchamiaj obu jednocześnie.