fix(ci): prevent playwright e2e timeout by skipping unnecessary app builds#888
fix(ci): prevent playwright e2e timeout by skipping unnecessary app builds#888
Conversation
…uilds The Playwright E2E smoke test job was occasionally timing out because prepare-sdk-for-testing.sh builds ALL packages AND test apps, including integration-suite which uses Vite/esbuild and can hang indefinitely in CI. The e2e job only needs SDK package tarballs - it doesn't need integration-suite, cloud-deployment, or e2e-web app builds (the dev server compiles on-the-fly). Changes: - Add build:packages script that builds only SDK packages (no test apps) - Add --packages-only flag to build-sdk.sh - Forward args from prepare-sdk-for-testing.sh to build-sdk.sh - Use --packages-only for playwright-e2e-test CI job - Add 5-minute step timeout as safety net
📝 WalkthroughWalkthroughIntroduces a Changes
🚥 Pre-merge checks | ✅ 1✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 🧹 Recent nitpick comments
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (4)
🧰 Additional context used📓 Path-based instructions (1)**/*.{ts,tsx,js,jsx,json,md}📄 CodeRabbit inference engine (AGENTS.md)
Files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
🔇 Additional comments (4)
✏️ Tip: You can disable this entire section by setting Comment |
📦 Canary Packages Publishedversion: PackagesInstallAdd to your {
"dependencies": {
"@agentuity/server": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-server-1.0.3-fd9e45e.tgz",
"@agentuity/workbench": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-workbench-1.0.3-fd9e45e.tgz",
"@agentuity/runtime": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-runtime-1.0.3-fd9e45e.tgz",
"@agentuity/opencode": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-opencode-1.0.3-fd9e45e.tgz",
"@agentuity/drizzle": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-drizzle-1.0.3-fd9e45e.tgz",
"@agentuity/cli": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-cli-1.0.3-fd9e45e.tgz",
"@agentuity/react": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-react-1.0.3-fd9e45e.tgz",
"@agentuity/core": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-core-1.0.3-fd9e45e.tgz",
"@agentuity/frontend": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-frontend-1.0.3-fd9e45e.tgz",
"@agentuity/schema": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-schema-1.0.3-fd9e45e.tgz",
"@agentuity/evals": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-evals-1.0.3-fd9e45e.tgz",
"@agentuity/auth": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-auth-1.0.3-fd9e45e.tgz",
"@agentuity/postgres": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-postgres-1.0.3-fd9e45e.tgz"
}
}Or install directly: bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-server-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-workbench-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-runtime-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-opencode-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-drizzle-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-cli-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-react-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-core-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-frontend-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-schema-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-evals-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-auth-1.0.3-fd9e45e.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/1.0.3-fd9e45e/agentuity-postgres-1.0.3-fd9e45e.tgz |
Summary
integration-suiteVite/esbuild build hanging indefinitely during SDK preparation--packages-onlyflag, and has a 5-minute step timeout as a safety netRoot Cause
In run 21745237075, the "Prepare SDK for testing" step ran
bun run buildwhich builds all 13 SDK packages and 3 test apps. Theintegration-suiteVite build hung with an orphanedesbuildprocess for 14+ minutes, hitting the 15-minute job timeout. The Playwright tests never even started.The e2e job only needs SDK package tarballs installed in
e2e-web— the test apps (integration-suite,cloud-deployment,e2e-web) don't need production builds since the e2e dev server compiles on-the-fly via Vite.Changes
package.jsonbuild:packagesscript (same asbuildbut omits test app builds)scripts/build-sdk.sh--packages-onlyflag that usesbuild:packagesscripts/prepare-sdk-for-testing.sh"$@"tobuild-sdk.sh.github/workflows/package-smoke-test.yamlplaywright-e2e-test: pass--packages-only+ addtimeout-minutes: 5Other CI jobs (
integration-test,cloud-deployment-test,framework-demo-test) are unchanged and still get the full build.Summary by CodeRabbit