From 6dfcb6a049f1eef0d1201839cff322056b66dad8 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sun, 12 Apr 2026 23:47:03 -0500 Subject: [PATCH] fix(ci): build artifacts in integration-tests job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #4093 split build and integration-tests into parallel CI jobs but the new integration-tests job only ran `npm ci`, leaving tests without the compiled artifacts they spawn at runtime. That caused 8 failures on main (run 24325713845): - e2e-headless, e2e-smoke, pack-install — throw "dist/loader.js not found" - 4 web-session-parity / web-live-state tests — "session manager module not found; checked=packages/pi-coding-agent/dist/core/session-manager.js" - web-mode-onboarding — "sh: 1: next: not found" when the test shells `npm run build:web-host` at runtime (web/node_modules/.bin/next absent) Add `npm --prefix web ci` and `npm run build` to the integration-tests job before `test:integration`, matching what the build job already does. Using `needs: build` + artifact sharing would serialize the two jobs and undo the parallelism PR #4093 was buying, so the build is duplicated intentionally. --- .github/workflows/ci.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 25c608877..b45996d89 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -179,6 +179,17 @@ jobs: - name: Install dependencies run: npm ci + # Integration tests need the same compiled artifacts as the build job: + # - dist/loader.js and packages/pi-coding-agent/dist/** from `npm run build` + # - web/node_modules/.bin/next for tests that shell `build:web-host` at runtime + # Duplicating the build here (instead of sharing artifacts via needs: build) + # preserves wall-clock parallelism with the build job — see PR #4093. + - name: Install web host dependencies + run: npm --prefix web ci + + - name: Build + run: npm run build + - name: Run integration tests run: npm run test:integration