Skip to content

[test] workflow-server PR #837 - #3727

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

[test] workflow-server PR #837#3727
vercel-gh-bot-2[bot] wants to merge 1 commit into
mainfrom
test/server-pr-837

Conversation

@vercel-gh-bot-2

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: 661390a

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:30pm
example-nextjs-workflow-webpack Ready Ready Preview, v0 Aug 21, 2026 9:30pm
example-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-astro-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-express-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-fastify-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-hono-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-nestjs-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-nitro-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-nuxt-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-python-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-sveltekit-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-tanstack-start-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workbench-vite-workflow Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workflow-docs Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workflow-swc-playground Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workflow-tarballs Ready Ready Preview, v0 Aug 21, 2026 9:30pm
workflow-web Ready Ready Preview, v0 Aug 21, 2026 9:30pm

@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 (245 failed)

astro-node (9 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

astro-quickjs (9 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

example-node (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • distributedAbortController - reconnect to existing controller | wrun_41M0K49GJY0GNZNT3YQH5697RJ | 🔍 observability
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands

example-quickjs (9 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

express-node (8 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands

express-quickjs (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands

fastify-node (5 failed):

  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

fastify-quickjs (11 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run
  • setAttributes validation DX: invalid writes throw catchable FatalErrors naming rule and limit

hono-node (8 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands

hono-quickjs (11 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run
  • setAttributes validation DX: invalid writes throw catchable FatalErrors naming rule and limit

nest-node (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run

nest-quickjs (10 failed):

  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands

nextjs-turbopack-node (5 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes Promise.all of disjoint-key writes: every key lands
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run

nextjs-turbopack-quickjs (8 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

nextjs-webpack-node (8 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

nextjs-webpack-quickjs (8 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run

nitro-node (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run
  • setAttributes validation DX: invalid writes throw catchable FatalErrors naming rule and limit

nitro-quickjs (9 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run
  • setAttributes validation DX: invalid writes throw catchable FatalErrors naming rule and limit

nuxt-node (8 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • distributedAbortController - manual abort triggers signal | wrun_41M0K466T80GQ7G39VCETD91P3 | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

nuxt-quickjs (11 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run

python-node (8 failed):

  • promiseAllWorkflow | wrun_41M0K3NDH20GSSY140A5Z729NP | 🔍 observability
  • sleepingWorkflow | wrun_41M0K3PQ3D0GY8M5S8CJRBZARV | 🔍 observability
  • parallelSleepWorkflow | wrun_41M0K3QEG40GREJ36JRFBQMPNK | 🔍 observability
  • nullByteWorkflow | wrun_41M0K3QP570GT9EPP434RRFJVV | 🔍 observability
  • cancelRun - cancelling a running workflow | wrun_41M0K434PV0GP2W4YXCZCH0WPN | 🔍 observability
  • cancelRun via CLI - cancelling a running workflow | wrun_41M0K434R30GY8Z9C8BT8HDPFC | 🔍 observability
  • sleepInLoopWorkflow - sleep inside loop with steps actually delays each iteration | wrun_41M0K43HN60GMAXXSFE8534WCN | 🔍 observability
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_41M0K45FTF0GXV5G9Z894ZT8V3 | 🔍 observability

sveltekit-node (13 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • distributedAbortController - reconnect to existing controller | wrun_41M0K49GJY0GNZNT3YQH5697RJ | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands
  • setAttributes workflow throws after awaited setAttributes: attribute still persists on the failed run
  • setAttributes validation DX: invalid writes throw catchable FatalErrors naming rule and limit

sveltekit-quickjs (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • AbortController abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

tanstack-start-node (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable | wrun_41M0K3XT5D0GNHT1SBHVNC92H8 | 🔍 observability
  • distributedAbortController - reconnect to existing controller | wrun_41M0K49GJY0GNZNT3YQH5697RJ | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes validation DX: invalid writes throw catchable FatalErrors naming rule and limit

tanstack-start-quickjs (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortFromStepWorkflow: step abort cancels an in-flight sibling step
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
  • setAttributes Promise.all of disjoint-key writes: every key lands

vite-node (7 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • distributedAbortController - reconnect to existing controller | wrun_41M0K49GJY0GNZNT3YQH5697RJ | 🔍 observability
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

vite-quickjs (10 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0 | 🔍 observability
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4 | 🔍 observability
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT | 🔍 observability
  • AbortController abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals
  • AbortController abortThrowIfAbortedMidFlightWorkflow: throwIfAborted in a polling loop bails when abort fires
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes setAttributesInsideStepWorkflow: step-body calls append attributed native events
  • setAttributes fire-and-forget: void setAttributes lands without awaiting
vercel-ws-transport (16 failed)

example (2 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT

express (5 failed):

  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes start: reserved-prefix initial attributes are seeded with allowReservedAttributes
  • setAttributes setAttributesWorkflow: workflow-body calls append native attr_set events and merge correctly
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

nextjs-turbopack (3 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

vite (6 failed):

  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_41M0K3YP9G0GVXPP2YB3PS9NQ0
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41M0K3XQ5T0GT0B072SDDM5WQ4
  • hookGetConflictWorkflow - hook.getConflict() resolves with the conflicting run when token is already registered | wrun_41M0K3YT890GKH8XHJH8B416ZT
  • distributedAbortController - reconnect to existing controller | wrun_41M0K49GJY0GNZNT3YQH5697RJ
  • setAttributes start: initial attributes are seeded on run creation
  • setAttributes fire-and-forget: void setAttributes lands without awaiting

⚠️ 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.

44 flaky tests
  • abortAnyInStepWorkflow: AbortSignal.any inside a step composes deserialized signals (nextjs-webpack)
  • abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step (astro)
  • abortDeterministicBranchFromStepWorkflow: branches stay consistent when abort comes from a step (nextjs-webpack)
  • abortFromStepWorkflow: step abort cancels an in-flight sibling step (astro)
  • abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal (astro)
  • abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal (hono)
  • abortListenerWorkflow: signal.addEventListener fires on the deserialized step signal (sveltekit)
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously (express)
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously (tanstack-start)
  • distributedAbortController - manual abort triggers signal (example)
  • distributedAbortController - manual abort triggers signal (tanstack-start)
  • distributedAbortController - reconnect to existing controller (express)
  • distributedAbortController - reconnect to existing controller (fastify)
  • fire-and-forget: void setAttributes lands without awaiting (nextjs-turbopack)
  • hookAdoptOwnerResultWorkflow - duplicate adopts the owner result via conflict.returnValue (astro)
  • hookAdoptOwnerResultWorkflow - duplicate adopts the owner result via conflict.returnValue (nuxt)
  • hookCleanupTestWorkflow - hook token reuse after workflow completion (fastify)
  • hookCleanupTestWorkflow - hook token reuse after workflow completion (nest)
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable (astro)
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable (fastify)
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable (nest)
  • hookMinRetentionWorkflow - terminal Hook cannot resume and its token stays unavailable (nextjs-turbopack)
  • Promise.all of disjoint-key writes: every key lands (astro)
  • Promise.all of disjoint-key writes: every key lands (nextjs-webpack)
  • Promise.all of disjoint-key writes: every key lands (tanstack-start)
  • resume-or-start route pattern - resumeHook retried after start() reaches the new run (express)
  • resume-or-start route pattern - resumeHook retried after start() reaches the new run (fastify)
  • resume-or-start route pattern - resumeHook retried after start() reaches the new run (nitro)
  • resume-or-start route pattern - resumeHook retried after start() reaches the new run (nuxt)
  • setAttributesInsideStepWorkflow: step-body calls append attributed native events (express)
  • setAttributesInsideStepWorkflow: step-body calls append attributed native events (nuxt)
  • setAttributesInsideStepWorkflow: step-body calls append attributed native events (vite)
  • start: initial attributes are seeded on run creation (example)
  • start: initial attributes are seeded on run creation (hono)
  • start: reserved-prefix initial attributes are seeded with allowReservedAttributes (nitro)
  • validation DX: invalid writes throw catchable FatalErrors naming rule and limit (example)
  • validation DX: invalid writes throw catchable FatalErrors naming rule and limit (fastify)
  • validation DX: invalid writes throw catchable FatalErrors naming rule and limit (nest)
  • validation DX: invalid writes throw catchable FatalErrors naming rule and limit (nextjs-turbopack)
  • validation DX: invalid writes throw catchable FatalErrors naming rule and limit (nextjs-webpack)
  • validation DX: invalid writes throw catchable FatalErrors naming rule and limit (nuxt)
  • workflow throws after awaited setAttributes: attribute still persists on the failed run (example)
  • workflow throws after awaited setAttributes: attribute still persists on the failed run (nuxt)
  • workflow throws after awaited setAttributes: attribute still persists on the failed run (tanstack-start)

🛠 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:29:14Z · abandoned wrun_41M0K3H2R30GQJXEGMG67G09FW · (+7 more)
  • run-pickup-stall · promiseAllWorkflow (python) · at 21:29:30Z · abandoned wrun_41M0K3MQDE0GWG0RYDV6QF0YR1
  • run-pickup-stall · nullByteWorkflow (python) · at 21:29:30Z · abandoned wrun_41M0K3MQDQ0GV742PW7E69QXM9
  • run-pickup-stall · sleepingWorkflow (python) · at 21:29:30Z · abandoned wrun_41M0K3MQDK0GYHN8SBCDC66Z56
  • run-pickup-stall · cancelRun - cancelling a running workflow (python) · at 21:29:30Z · abandoned wrun_41M0K3MQRS0GRJNJNFF1KT46J4
  • run-pickup-stall · parallelSleepWorkflow (python) · at 21:29:31Z · abandoned wrun_41M0K3MQDK0GYHN8SBCDC66Z57
  • run-pickup-stall · cancelRun - cancelling a running workflow (python) · at 21:30:03Z · abandoned wrun_41M0K3NQG70GHWTRWRE9WV2YRM
  • run-pickup-stall · sleepingWorkflow (python) · at 21:30:31Z · abandoned wrun_41M0K3PJTK0GM69W0246S4ZQ9Y
  • run-pickup-stall · parallelSleepWorkflow (python) · at 21:30:31Z · abandoned wrun_41M0K3PJSV0GWNFQ1F7TEETTHV
  • run-pickup-stall · promiseAllWorkflow (python) · at 21:30:31Z · abandoned wrun_41M0K3PJRT0GRPQR144VKG8BD3
  • run-pickup-stall · nullByteWorkflow (python) · at 21:30:31Z · abandoned wrun_41M0K3PJT80GZM7ZYM77266NGV
  • run-pickup-stall · cancelRun via CLI - cancelling a running workflow (python) · at 21:31:21Z · abandoned wrun_41M0K3PQ2X0GSDWWK1SPGHHQ5D
  • run-pickup-stall · sleepInLoopWorkflow - sleep inside loop with steps actually delays each iteration (python) · at 21:33:03Z · abandoned wrun_41M0K3RMT60GQYFA70H4F2DSDS
  • run-pickup-stall · cancelRun via CLI - cancelling a running workflow (python) · at 21:33:03Z · abandoned wrun_41M0K3SEZE0GV2NTJB5ASQWMBV

E2E Test Summary

Summary
Passed Failed Skipped Total
❌ ▲ Vercel Production 3333 245 742 4320
✅ vercel-multi-region 27 0 0 27
❌ vercel-ws-transport 537 16 87 640
Total 3897 261 829 4987
Details by Category

❌ ▲ Vercel Production

App Passed Failed Skipped
❌ astro-node 123 9 28
❌ astro-quickjs 123 9 28
❌ example-node 122 10 28
❌ example-quickjs 123 9 28
❌ express-node 124 8 28
❌ express-quickjs 122 10 28
❌ fastify-node 127 5 28
❌ fastify-quickjs 121 11 28
❌ hono-node 124 8 28
❌ hono-quickjs 121 11 28
❌ nest-node 122 10 28
❌ nest-quickjs 122 10 28
❌ nextjs-turbopack-node 152 5 3
❌ nextjs-turbopack-quickjs 149 8 3
❌ nextjs-webpack-node 149 8 3
❌ nextjs-webpack-quickjs 149 8 3
❌ nitro-node 122 10 28
❌ nitro-quickjs 123 9 28
❌ nuxt-node 124 8 28
❌ nuxt-quickjs 121 11 28
❌ python-node 0 8 152
❌ sveltekit-node 138 13 9
❌ sveltekit-quickjs 141 10 9
❌ tanstack-start-node 122 10 28
❌ tanstack-start-quickjs 122 10 28
❌ vite-node 125 7 28
❌ vite-quickjs 122 10 28

✅ vercel-multi-region

App Passed Failed Skipped
✅ nextjs-turbopack 27 0 0

❌ vercel-ws-transport

App Passed Failed Skipped
❌ example 130 2 28
❌ express 127 5 28
❌ nextjs-turbopack 154 3 3
❌ vite 126 6 28

📋 View full workflow run

@github-actions

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

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