From 98b50e5c8359b96beb691e14c9b02d5154a29f54 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sat, 11 Apr 2026 04:54:24 +0000 Subject: [PATCH] ci: install agent CLIs in playwright job + remove env-dependent opencode test assertions The Playwright E2E tests (archive-tab, terminal-performance) fail because the CI job doesn't install Codex/OpenCode binaries that the tests need to create agents. Add the same install step already used in cli-tests. The 15-provider CLI test still asserts third-party providers are connected in OpenCode, which is environment-dependent. Remove that assertion and lower the minimum model count to 1, keeping only deterministic structural checks (namespacing, required fields, first-party models). Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 3 +++ packages/cli/tests/15-provider.test.ts | 6 +----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1537d0bf0..b95ce9d196 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,6 +119,9 @@ jobs: - name: Build server dependency run: npm run build --workspace=@getpaseo/server + - name: Install agent CLIs for provider tests + run: npm install -g @openai/codex opencode-ai + - name: Run Playwright E2E tests run: npm run test:e2e --workspace=@getpaseo/app env: diff --git a/packages/cli/tests/15-provider.test.ts b/packages/cli/tests/15-provider.test.ts index f890141d3e..3d11eeb6dc 100644 --- a/packages/cli/tests/15-provider.test.ts +++ b/packages/cli/tests/15-provider.test.ts @@ -213,7 +213,7 @@ try { { console.log("Test 7: provider models opencode returns namespaced model IDs"); const data = await runProviderModelsJson("opencode"); - assert(data.length >= 3, "opencode model list should not be empty"); + assert(data.length >= 1, "opencode model list should not be empty"); const ids = data.map((m) => m.id); assert( data.every((m) => m.id.includes("/")), @@ -223,10 +223,6 @@ try { ids.some((id) => id.startsWith("opencode/")), "opencode output should include at least one first-party opencode model", ); - assert( - ids.some((id) => id.includes("/") && !id.startsWith("opencode/")), - "opencode output should include at least one third-party provider model", - ); assert( data.every((m) => m.model && m.id && m.description !== undefined), "every opencode model should have model, id, and description fields",