Skip to content

chore: hand adapt-time values to the adapter-node server as a module - #17103

Merged
teemingc merged 2 commits into
version-3from
adapter-node-file-handoff
Sep 14, 2026
Merged

teemingc merged 2 commits into
version-3from
adapter-node-file-handoff

Conversation

@Nic-Polumeyv

@Nic-Polumeyv Nic-Polumeyv commented Sep 13, 2026 •

Copy link
Copy Markdown
Member

#17068 injects the values adapt learns after the Vite build by regex-patching stub identifiers in the built chunks and remapping their sourcemaps.

Now adapt writes them to build/adapter-node.js and the chunks import it. No chunk is edited after Vite writes it, and the adapter has no runtime dependencies.

@pkg-svelte-dev

pkg-svelte-dev Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from d797bf0:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/d797bf0884dbd730839bc73a01e8ead27baef0da

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/kit/pr/17103

@changeset-bot

changeset-bot Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d797bf0

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@sveltejs/adapter-node Patch

Not sure what this means? Click here to learn what changesets are.

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

@svelte-docs-bot

Copy link
Copy Markdown

@Nic-Polumeyv
Nic-Polumeyv force-pushed the adapter-node-file-handoff branch from 4000bc7 to a9fde96 Compare September 14, 2026 00:45
Comment thread packages/adapter-node/index.js Outdated
@teemingc teemingc added pkg:adapter-node needs-platform-tests This PR needs to run platform tests in order to merge. labels Sep 14, 2026
Comment thread packages/adapter-node/index.js Outdated
@Nic-Polumeyv
Nic-Polumeyv force-pushed the adapter-node-file-handoff branch from a9fde96 to 49b99e5 Compare September 14, 2026 15:10
@Nic-Polumeyv
Nic-Polumeyv marked this pull request as draft September 14, 2026 15:30
@Nic-Polumeyv
Nic-Polumeyv marked this pull request as ready for review September 14, 2026 17:32
@svelte-triage-bot

Copy link
Copy Markdown
Contributor

I investigated this failed test run, but the investigation came up empty.

What I tried

  • Validated workflow evidence before checkout: get_github_actions_evidence returned trusted for sveltejs/kit PR chore: hand adapt-time values to the adapter-node server as a module #17103, workflow 34873859108, job 104076088079, and downloaded the complete log plus artifact.
  • Verified and checked out the trusted PR head: Fetched refs/pull/17103/head from origin; its SHA was d797bf0, matching both supplied PR and workflow head SHAs, then checked it out detached.
  • Inspected the complete log and all three downloaded traces: Windows Server 2025, Node 24.21.0, Playwright 1.62.1, Chrome, chromium-build, build mode, two workers. The actual job failure was the non-test error "Worker teardown timeout of 45000ms exceeded." Three retry attempts then failed in browser.newContext because the shared browser was already closed; none reached a test assertion. CI retries passed all three test bodies.
  • Checked failed-test provenance against base 4da6320: origin/base...HEAD changed only adapter-node/docs/lockfile files. Both failing test files and all three declarations/bodies were byte-unchanged, so this was not skipped_test_changed.
  • Checked the 20 newest open sveltejs/kit PRs: Ran the required gh pr list command and reviewed all 20 results against the exact titles, files, browser.newContext symptom, and worker teardown timeout. None changed the affected tests or Playwright harness and no plausible duplicate fix was found.
  • Ran five separate focused build-mode processes with retries disabled: Each process selected the same three exact chromium-build tests. Processes 1, 2, 4, and 5 passed 3/3; process 3 passed the scroll test, then Chromium segfaulted and the trailing-slash test failed in browser.newContext. An extra separate process passed the third target, ensuring each target reached at least five executions. Google Chrome was unavailable locally, so these Linux runs used Playwright's bundled Chromium/headless shell and the OS/browser limitation was recorded.
  • Stress-tested the exact targets on PR head and trusted base: The scroll test passed 100/100 on the PR head but triggered four browser SIGSEGVs during context teardown; the same test passed 100/100 on the base with three identical SIGSEGVs. The error-message test passed 100/100 with two browser SIGSEGVs; the trailing-slash test passed 100/100 without a crash. This reproduces the browser-death mechanism on unchanged base code rather than an assertion or PR regression.
  • Checked nearby, parallel, and mode variants: The three focused tests passed 3/3 in dev mode. The full client spec passed 95/95 with one worker. Full cross-platform runs at the CI worker count repeatedly failed when Chromium itself died and the next unrelated test attempted browser.newContext, demonstrating noisy-neighbour/worker cross-talk rather than title-specific failures. No residual Vite or browser processes remained after runs.

This is an intermittent browser/Playwright worker-teardown failure, not a deterministic SvelteKit regression or a failed assertion. The job's decisive error was an unattributed 45-second worker teardown timeout; the three named tests were retry victims that attempted to create contexts after their worker browser had closed, and all passed on retry. The same mechanism reproduced on the unchanged base, while failures moved among unrelated tests under parallel load. It is consistent with known browser-process shutdown failures discussed in microsoft/playwright#39753 and branded-browser worker failures in microsoft/playwright#28601. Browser-selection and stronger page-cleanup experiments improved focused stress runs but did not survive the full CI-shaped suite, so no defensible standalone repository fix could be verified. The workspace was restored clean at the trusted base, and nothing was committed or pushed.

@teemingc
teemingc merged commit 55609f1 into version-3 Sep 14, 2026
73 of 74 checks passed
@teemingc
teemingc deleted the adapter-node-file-handoff branch September 14, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-platform-tests This PR needs to run platform tests in order to merge. pkg:adapter-node

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants