Skip to content

[test] workflow-server PR #836 - #3724

Draft
vercel-gh-bot-3[bot] wants to merge 1 commit into
mainfrom
test/server-pr-836
Draft

[test] workflow-server PR #836#3724
vercel-gh-bot-3[bot] wants to merge 1 commit into
mainfrom
test/server-pr-836

Conversation

@vercel-gh-bot-3

Copy link
Copy Markdown

This PR was automatically created to test a workflow-server preview deployment.


This PR will be automatically closed after 24 hours.

@changeset-bot

changeset-bot Bot commented Aug 21, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7d9a967

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, v0 Aug 21, 2026 9:51pm
example-nextjs-workflow-webpack Ready Ready Preview, v0 Aug 21, 2026 9:51pm
example-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-astro-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-express-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-fastify-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-hono-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-nestjs-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-nitro-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-nuxt-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-python-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-sveltekit-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-tanstack-start-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workbench-vite-workflow Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workflow-docs Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workflow-swc-playground Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workflow-tarballs Ready Ready Preview, v0 Aug 21, 2026 9:51pm
workflow-web Ready Ready Preview, v0 Aug 21, 2026 9:51pm

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

🧪 E2E Test Results

Some tests failed

❌ Failed E2E Tests

▲ Vercel Production (38 failed)

astro-quickjs (3 failed):

  • AbortController abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step

example-node (1 failed):

  • distributedAbortController - reconnect to existing controller | wrun_41M0K545DH0GPMDPFTXY6GK7ZG | 🔍 observability

example-quickjs (1 failed):

  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step

express-node (1 failed):

  • hookAdoptOwnerResultWorkflow - duplicate adopts the owner result via conflict.returnValue | wrun_41M0K51Q0W0GJV49AJ4JK0DG8P | 🔍 observability

express-quickjs (2 failed):

  • AbortController abortFromStepWorkflow: step abort cancels an in-flight sibling step
  • AbortController abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals

fastify-node (1 failed):

  • distributedAbortController - reconnect to existing controller | wrun_41M0K545DH0GPMDPFTXY6GK7ZG | 🔍 observability

fastify-quickjs (2 failed):

  • AbortController abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires

nest-quickjs (1 failed):

  • AbortController abortFromStepWorkflow: step abort cancels an in-flight sibling step

nextjs-turbopack-quickjs (2 failed):

  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step

nextjs-webpack-node (1 failed):

  • distributedAbortController - reconnect to existing controller | wrun_41M0K545DH0GPMDPFTXY6GK7ZG | 🔍 observability

nextjs-webpack-quickjs (1 failed):

  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step

nitro-quickjs (2 failed):

  • AbortController abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals
  • AbortController abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal

nuxt-quickjs (2 failed):

  • AbortController abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires

python-node (8 failed):

  • promiseAllWorkflow | wrun_41M0K4Y3600GZTFWDEEJC7VP1G | 🔍 observability
  • sleepingWorkflow | wrun_41M0K4YR7W0GY5Z02YZA5Q5CN1 | 🔍 observability
  • parallelSleepWorkflow | wrun_41M0K4YRBZ0GNSDWKHYRVX2VFJ | 🔍 observability
  • nullByteWorkflow | wrun_41M0K4YZSV0GGSNXWARXE9TQEJ | 🔍 observability
  • cancelRun - cancelling a running workflow | wrun_41M0K534SM0GNJENCGN0CVD7RQ | 🔍 observability
  • cancelRun via CLI - cancelling a running workflow | wrun_41M0K539880GG2NYF7GNBMVZCE | 🔍 observability
  • sleepInLoopWorkflow - sleep inside loop with steps actually delays each iteration | wrun_41M0K53BRM0GS9QR4YA7J5KTEE | 🔍 observability
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_41M0K53TW80GQEMZXEAM09CCPJ | 🔍 observability

sveltekit-quickjs (1 failed):

  • hookSupersedeOwnerWorkflow - duplicate cancels the owner and claims the released token | wrun_41M0K51YEX0GS9HFFGXC70QN76 | 🔍 observability

tanstack-start-quickjs (2 failed):

  • AbortController abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires

vite-quickjs (7 failed):

  • AbortController abortFromStepWorkflow: step abort cancels an in-flight sibling step
  • AbortController abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step
  • AbortController abortHookOrderingWorkflow [listener-first-abort-first]: addEventListener → hook.then → abort() → resumeHook
  • AbortController abortHookOrderingWorkflow [listener-first-hook-first]: addEventListener → hook.then → resumeHook → abort()
  • AbortController abortHookOrderingWorkflow [hook-first-abort-first]: hook.then → addEventListener → abort() → resumeHook

vercel-ws-transport (1 failed)

express (1 failed):

  • resume-or-start route pattern - resumeHook retried after start() reaches the new run | wrun_41M0K51YST0GXEJ90AQYC4JJ90

⚠️ Flaky E2E Tests (passed on retry)

These tests failed at least once and passed on a retry. A recurring entry here is a real race worth investigating.

23 flaky tests
  • abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals (astro)
  • abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals (nest)
  • abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals (nuxt)
  • abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals (sveltekit)
  • abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step (nuxt)
  • abortFromStepWorkflow: step abort cancels an in-flight sibling step (example)
  • abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal (nest)
  • abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal (tanstack-start)
  • abortReasonWorkflow: abort reason preserved across boundaries (vite)
  • abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires (nest)
  • abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires (nextjs-webpack)
  • distributedAbortController - manual abort triggers signal (express)
  • distributedAbortController - manual abort triggers signal (nextjs-turbopack)
  • distributedAbortController - reconnect to existing controller (nitro)
  • hookAdoptOwnerResultWorkflow - duplicate adopts the owner result via conflict.returnValue (nuxt)
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable (vite)
  • hookSignalOwnerWorkflow - duplicate forwards its payload to the owner via resumeHook (astro)
  • hookSignalOwnerWorkflow - duplicate forwards its payload to the owner via resumeHook (vite)
  • hookSupersedeOwnerWorkflow - duplicate cancels the owner and claims the released token (astro)
  • hookSupersedeOwnerWorkflow - duplicate cancels the owner and claims the released token (vite)
  • parallelStepsThenWebhookWorkflow - no hook_conflict from same-tick replay race (nextjs-turbopack)
  • webhookWorkflow (fastify)
  • webhookWorkflow (hono)

🛠 Infra Events (absorbed by the harness)

Platform anomalies the e2e harness detected and worked around (e.g. a run the queue never picked up, replaced by a fresh run). Clustered timestamps indicate a backend blip; a steady drip indicates a platform issue worth escalating.

14 infra events
  • cold-start-warmup · suite warmup (python) · at 21:51:28Z · abandoned wrun_41M0K4SS8N0GKVVH3JPJ9J12VT · (+7 more)
  • run-pickup-stall · parallelSleepWorkflow (python) · at 21:51:44Z · abandoned wrun_41M0K4XE7Z0GWKC7WR6APNBK7C
  • run-pickup-stall · promiseAllWorkflow (python) · at 21:51:44Z · abandoned wrun_41M0K4XE7T0GZRWCK7KM7ZV79Z
  • run-pickup-stall · nullByteWorkflow (python) · at 21:51:45Z · abandoned wrun_41M0K4XE830GH7TJ78QTWXGJR4
  • run-pickup-stall · sleepingWorkflow (python) · at 21:51:45Z · abandoned wrun_41M0K4XE7Z0GWKC7WR6APNBK7B
  • run-pickup-stall · cancelRun - cancelling a running workflow (python) · at 21:51:45Z · abandoned wrun_41M0K4XEP70GJF4R0YJPH5F4R8
  • run-pickup-stall · cancelRun - cancelling a running workflow (python) · at 21:52:18Z · abandoned wrun_41M0K4YF160GSM2NYTYRRPGRHA
  • run-pickup-stall · promiseAllWorkflow (python) · at 21:52:45Z · abandoned wrun_41M0K4Z9RY0GTGA4RPBQHCY395
  • run-pickup-stall · sleepingWorkflow (python) · at 21:52:45Z · abandoned wrun_41M0K4Z9SG0GWFMDNQZC2JYMGT
  • run-pickup-stall · parallelSleepWorkflow (python) · at 21:52:46Z · abandoned wrun_41M0K4ZA0X0GJ2ARKFS07HJFDE
  • run-pickup-stall · nullByteWorkflow (python) · at 21:52:46Z · abandoned wrun_41M0K4ZAT30GS6Z0JTZMEP905Y
  • run-pickup-stall · cancelRun via CLI - cancelling a running workflow (python) · at 21:53:36Z · abandoned wrun_41M0K4ZEQJ0GG3GDXSF42XNMY1
  • run-pickup-stall · sleepInLoopWorkflow - sleep inside loop with steps actually delays each iteration (python) · at 21:55:17Z · abandoned wrun_41M0K51C6H0GRB2JDG6Q807ACV
  • run-pickup-stall · cancelRun via CLI - cancelling a running workflow (python) · at 21:55:17Z · abandoned wrun_41M0K51D280GPR20TQGACZBM24

E2E Test Summary

Summary
Passed Failed Skipped Total
❌ ▲ Vercel Production 3540 38 742 4320
✅ vercel-multi-region 27 0 0 27
❌ vercel-ws-transport 552 1 87 640
Total 4119 39 829 4987
Details by Category

❌ ▲ Vercel Production

App Passed Failed Skipped
✅ astro-node 132 0 28
❌ astro-quickjs 129 3 28
❌ example-node 131 1 28
❌ example-quickjs 131 1 28
❌ express-node 131 1 28
❌ express-quickjs 130 2 28
❌ fastify-node 131 1 28
❌ fastify-quickjs 130 2 28
✅ hono-node 132 0 28
✅ hono-quickjs 132 0 28
✅ nest-node 132 0 28
❌ nest-quickjs 131 1 28
✅ nextjs-turbopack-node 157 0 3
❌ nextjs-turbopack-quickjs 155 2 3
❌ nextjs-webpack-node 156 1 3
❌ nextjs-webpack-quickjs 156 1 3
✅ nitro-node 132 0 28
❌ nitro-quickjs 130 2 28
✅ nuxt-node 132 0 28
❌ nuxt-quickjs 130 2 28
❌ python-node 0 8 152
✅ sveltekit-node 151 0 9
❌ sveltekit-quickjs 150 1 9
✅ tanstack-start-node 132 0 28
❌ tanstack-start-quickjs 130 2 28
✅ vite-node 132 0 28
❌ vite-quickjs 125 7 28

✅ vercel-multi-region

App Passed Failed Skipped
✅ nextjs-turbopack 27 0 0

❌ vercel-ws-transport

App Passed Failed Skipped
✅ example 132 0 28
❌ express 131 1 28
✅ nextjs-turbopack 157 0 3
✅ vite 132 0 28

📋 View full workflow run

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Sim World

Simulated world deterministic testing for races. Traces

🟠 world-sim scenario book — 1 fail of 41 total

fence=per-spec

scenario outcome events virt replay violations
smoke-no-steps completed 3 0ms ok 0
smoke-one-step completed 6 0ms ok 0
hook-at-step-started completed 12 0ms ok 0
hook-at-step-completed completed 12 0ms ok 0
hook-at-hook-created completed 12 0ms ok 0
deadline-hook-wins completed 7 1.0h ok 0
deadline-expires completed 7 1.0h ok 0
long-sleep completed 11 30.0d ok 0
hook-never-arrives stalled 3 0ms skipped 0
step-retries-twice completed 10 2.0s ok 0
parallel-steps completed 9 0ms ok 0
hook-on-execution-state completed 12 0ms ok 0
peek-hook-before-branch completed 12 0ms ok 0
peek-hook-after-branch completed 12 0ms ok 0
peek-hook-at-registration completed 12 0ms ok 0
race-hook-before-probe completed 12 0ms ok 0
race-hook-after-probe completed 12 0ms ok 0
race-duplicate-delivery completed 13 0ms ok 0
attr-hook-before-step completed 11 0ms ok 0
attr-hook-after-step completed 11 0ms ok 0
attr-from-step-body completed 13 0ms ok 0
fork-hook-after-timeout completed 14 1.0m ok 0
fork-hook-before-timeout completed 14 1.0m ok 0
count-hook-after-timeout completed 17 1.0m ok 0
count-hook-before-timeout completed 20 1.0m ok 0
stale-read-step-count-fork completed 20 1.0m ok 0
stale-read-equal-step-counts completed 14 1.0m ok 0
step-vs-step-fork completed 12 0ms ok 0
step-vs-step-fork-fenced completed 12 0ms ok 0
fence-catches-benign-direction completed 12 5ms ok 0
in-flight-before-decision completed 17 1.0m ok 0
in-flight-before-decision-counted completed 17 1.0m ok 0
in-flight-after-decision completed 19 2.0m ok 0
stale-read-step-count-fork-fenced completed 20 1.0m ok 0
fork-hook-wins completed 13 1.0m ok 0
fork-timeout-wins completed 13 1.0m ok 0
unclaimed-payload-under-fork completed 17 1.0m ok 0
claimed-payload-under-fork completed 17 1.0m ok 0
writers-independent-step-bodies completed 12 0ms ok 0
writers-scripted-tempo completed 12 0ms ok 0
cancel-mid-step cancelled 7 0ms skipped 0

Full trace: world-sim.txt

@vercel-gh-bot-2
vercel-gh-bot-2 Bot force-pushed the test/server-pr-836 branch 2 times, most recently from 48f7a39 to 84cbdd9 Compare August 21, 2026 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants