ci: fix VERCEL_WORKFLOW_SERVER_* env var ternary on main#1859
ci: fix VERCEL_WORKFLOW_SERVER_* env var ternary on main#1859TooTallNate merged 2 commits intomainfrom
Conversation
In GitHub Actions expressions, '' is falsy, so the original `cond && '' || secrets.X` pattern always fell through to the secret regardless of branch. The result was that pushes to main were sending preview workflow-server values to production, causing 'invalid_url' errors on `x-vercel-workflow-api-url` across all e2e jobs. Flip the condition so the secret sits in the truthy branch and || correctly selects '' on main.
|
📊 Benchmark Results
workflow with no steps💻 Local Development
workflow with 1 step💻 Local Development
workflow with 10 sequential steps💻 Local Development
workflow with 25 sequential steps💻 Local Development
workflow with 50 sequential steps💻 Local Development
Promise.all with 10 concurrent steps💻 Local Development
Promise.all with 25 concurrent steps💻 Local Development
Promise.all with 50 concurrent steps💻 Local Development
Promise.race with 10 concurrent steps💻 Local Development
Promise.race with 25 concurrent steps💻 Local Development
Promise.race with 50 concurrent steps💻 Local Development
workflow with 10 sequential data payload steps (10KB)💻 Local Development
workflow with 25 sequential data payload steps (10KB)💻 Local Development
workflow with 50 sequential data payload steps (10KB)💻 Local Development
workflow with 10 concurrent data payload steps (10KB)💻 Local Development
workflow with 25 concurrent data payload steps (10KB)💻 Local Development
workflow with 50 concurrent data payload steps (10KB)💻 Local Development
Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
stream pipeline with 5 transform steps (1MB)💻 Local Development
10 parallel streams (1MB each)💻 Local Development
fan-out fan-in 10 streams (1MB each)💻 Local Development
SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
|
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests💻 Local Development (2 failed)vite-stable (2 failed):
Details by Category✅ ▲ Vercel Production
❌ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
✅ 📋 Other
❌ Some E2E test jobs failed:
Check the workflow run for details. |
There was a problem hiding this comment.
Pull request overview
Fixes a GitHub Actions expression bug that caused main branch E2E runs to incorrectly use preview workflow-server override/bypass values, breaking world-vercel-backed E2E CI on main.
Changes:
- Updates the GitHub Actions expression used to populate
VERCEL_WORKFLOW_SERVER_URLandVERCEL_WORKFLOW_SERVER_PROTECTION_BYPASSso thatmainresolves to''and non-mainresolves to the corresponding secret.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The Get Test Matrix and Get Community Worlds Matrix jobs only run a small Node script to emit a JSON matrix; they never run `pnpm install`. With `cache: 'pnpm'` set on actions/setup-node, the post-job cache save step fails with 'Path Validation Error' because the pnpm store path was never created, marking the whole job as failed. Add a cache-pnpm input to setup-workflow-dev (default true) and opt out in the two matrix-generation jobs.
* ci: fix VERCEL_WORKFLOW_SERVER_* ternary so main actually unsets them In GitHub Actions expressions, '' is falsy, so the original `cond && '' || secrets.X` pattern always fell through to the secret regardless of branch. The result was that pushes to main were sending preview workflow-server values to production, causing 'invalid_url' errors on `x-vercel-workflow-api-url` across all e2e jobs. Flip the condition so the secret sits in the truthy branch and || correctly selects '' on main. * ci: skip pnpm cache in matrix-generation jobs The Get Test Matrix and Get Community Worlds Matrix jobs only run a small Node script to emit a JSON matrix; they never run `pnpm install`. With `cache: 'pnpm'` set on actions/setup-node, the post-job cache save step fails with 'Path Validation Error' because the pnpm store path was never created, marking the whole job as failed. Add a cache-pnpm input to setup-workflow-dev (default true) and opt out in the two matrix-generation jobs.
Summary
Fixes broken e2e CI on
mainintroduced by #1824.In GitHub Actions expressions, empty string
''is falsy. The previous expression${{ github.ref == 'refs/heads/main' && '' || secrets.VERCEL_WORKFLOW_SERVER_URL }}always fell through to the secret on both branches: on main,
true && '' → '', then'' || secrets.X → secrets.X. So pushes tomainwere sending the preview workflow-server URL/bypass values into production e2e runs, which causedworld-vercelto setx-vercel-workflow-api-url: <preview-url>on calls toapi.vercel.com. The API rejected those withinvalid_url, cascading into ~all e2e tests failing on every push tomainsince #1824 merged.Fix
Flip the condition so the secret sits in the truthy branch —
||then correctly selects''onmain:${{ github.ref != 'refs/heads/main' && secrets.VERCEL_WORKFLOW_SERVER_URL || '' }}Notes
pnpm changeset statusconfirms).