diff --git a/.github/workflows/label-pr-review-state.yml b/.github/workflows/label-pr-review-state.yml index 80c0a01ac5..48d836420e 100644 --- a/.github/workflows/label-pr-review-state.yml +++ b/.github/workflows/label-pr-review-state.yml @@ -289,7 +289,6 @@ jobs: 'coderabbit-changes': 'Address CodeRabbit findings and push an update. Review restarts after CI passes.', coderabbit: 'Required CI passed. Wait for CodeRabbit to approve the latest commit.', 'draft-approved': 'CodeRabbit approved the latest commit. Mark the draft ready.', - 'fork-approved': 'Fork review completed. Native GitHub review protections remain authoritative.', 'maintainer-changes': 'Address the maintainer feedback, push an update, and request another review.', maintainer: 'Ready for human maintainer review and approval.', approved: 'The required review sequence passed. Remaining merge requirements apply.', @@ -676,11 +675,7 @@ jobs: } await reconcileLabels(pr, desiredLabel); if (readyForMaintainer) { - if (isForkPR(pr)) { - await updateReviewGate(pr, 'fork-approved', false); - } else { - await updateReviewGate(pr, phase, true); - } + await updateReviewGate(pr, phase, true); } } catch (error) { let invalidationError = null; diff --git a/src/services/__tests__/pr-review-state-workflow.test.ts b/src/services/__tests__/pr-review-state-workflow.test.ts index 00122bd9c8..5cc0241db8 100644 --- a/src/services/__tests__/pr-review-state-workflow.test.ts +++ b/src/services/__tests__/pr-review-state-workflow.test.ts @@ -1386,11 +1386,10 @@ describe("PR review-state workflow", () => { expect(result.addLabels).toHaveBeenCalledWith(expect.objectContaining({ labels: ["coderabbit-review-active"] })) }) - it("keeps fork review gates pending after approval", async () => { + it("passes fork review gates at the maintainer handoff", async () => { const result = await runWorkflow({ eventName: "schedule", fork: true, - permissions: { maintainer: "write" }, reviews: [ { login: "coderabbitai[bot]", @@ -1398,17 +1397,11 @@ describe("PR review-state workflow", () => { state: "APPROVED", submittedAt: REVIEWED_AT, }, - { - login: "maintainer", - type: "User", - state: "APPROVED", - submittedAt: REVIEWED_AT + 1_000, - }, ], }) - expect(latestGateStatus(result)?.state).toBe("pending") - expect(latestGateStatus(result)?.description).toContain("Native GitHub review protections") + expect(latestGateStatus(result)?.state).toBe("success") + expect(latestGateStatus(result)?.description).toContain("Ready for human maintainer") }) it("fails closed when branch rules are unavailable", async () => {