From 43ece40c2165c6dc989d368f8bceaed3d00f3dd6 Mon Sep 17 00:00:00 2001 From: Tam Nhu Tran Date: Sun, 10 May 2026 18:30:05 -0400 Subject: [PATCH] Revert "ci(ai-review): move PR-Agent jobs to ubuntu-latest" This reverts the runs-on change for ai-review.yml. All CI/CD must stay on home infra (claw, docker LXC, etc); GitHub-hosted runners are forbidden. The qodo-ai/pr-agent docker action mount issue will be addressed by either configuring the self-hosted runner image to use path-identical bind mounts so nested-docker volume sources resolve correctly, or by switching to native CLI invocation (pip install pr-agent) instead of the docker action. Tracked separately; not blocking PR #1209. --- .github/workflows/ai-review.yml | 4 ++-- tests/unit/scripts/github/ai-review-workflow.test.ts | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ai-review.yml b/.github/workflows/ai-review.yml index b8125720..40e84de8 100644 --- a/.github/workflows/ai-review.yml +++ b/.github/workflows/ai-review.yml @@ -37,7 +37,7 @@ jobs: dispatch-review: name: Queue /review comment if: github.event_name == 'workflow_dispatch' - runs-on: ubuntu-latest + runs-on: [self-hosted, cliproxy] permissions: issues: write @@ -86,7 +86,7 @@ jobs: ) ) ) - runs-on: ubuntu-latest + runs-on: [self-hosted, cliproxy] timeout-minutes: 20 permissions: issues: write diff --git a/tests/unit/scripts/github/ai-review-workflow.test.ts b/tests/unit/scripts/github/ai-review-workflow.test.ts index d6787594..55d3efb3 100644 --- a/tests/unit/scripts/github/ai-review-workflow.test.ts +++ b/tests/unit/scripts/github/ai-review-workflow.test.ts @@ -7,7 +7,7 @@ function resolvePath(relativePath: string) { } describe('PR-Agent review lane migration', () => { - test('keeps ai-review.yml as the PR-Agent workflow on a GitHub-hosted runner', () => { + test('keeps ai-review.yml as the PR-Agent workflow on the self-hosted cliproxy runner', () => { const workflowPath = resolvePath('../../../../.github/workflows/ai-review.yml'); const prAgentConfigPath = resolvePath('../../../../.pr_agent.toml'); @@ -19,14 +19,7 @@ describe('PR-Agent review lane migration', () => { const appTokenUsages = workflow.match(/uses: actions\/create-github-app-token@v1/g) ?? []; expect(workflow).toContain('name: AI Code Review'); - // AI review jobs run on GitHub-hosted runners. Self-hosted runners that - // run inside a Docker container (myoung34/github-runner) cannot host - // qodo-ai/pr-agent because the action's docker run command uses a volume - // mount path (/tmp/runner/work/_temp/_github_workflow) that resolves on - // the host filesystem, not inside the runner container, leaving - // /github/workflow/event.json missing in the action. - expect(workflow).toContain('runs-on: ubuntu-latest'); - expect(workflow).not.toContain('runs-on: [self-hosted, cliproxy]'); + expect(workflow).toContain('runs-on: [self-hosted, cliproxy]'); expect(workflow).toContain('uses: qodo-ai/pr-agent'); expect(appTokenUsages).toHaveLength(2); expect(workflow).toContain('OPENAI.API_BASE');