[vitest-plugin] Support Container tests - #15695
Draft
ghostwriternr wants to merge 2 commits into
Draft
ghostwriternr wants to merge 2 commits into
ghostwriternr wants to merge 2 commits into
Conversation
🦋 Changeset detectedLatest commit: f44bcda The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
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 |
ghostwriternr
marked this pull request as ready for review
September 17, 2026 14:42
workers-devprod
requested review from
a team and
tpmmorris
and removed request for
a team
September 17, 2026 14:43
Contributor
|
Codeowners approval required for this PR:
Show detailed file reviewers
|
@cloudflare/autoconfig
@cloudflare/build-output-utils
@cloudflare/codemods
@cloudflare/config
@cloudflare/containers-shared
create-cloudflare
@cloudflare/deploy-helpers
@cloudflare/kv-asset-handler
miniflare
@cloudflare/pages-functions
@cloudflare/pages-shared
@cloudflare/unenv-preset
@cloudflare/vite-plugin
@cloudflare/vitest-plugin
@cloudflare/workers-auth
@cloudflare/workers-editor-shared
@cloudflare/workers-utils
wrangler
commit: |
Contributor
|
I'm Bonk, and I've done a quick review of your PR. Adds Vitest support for container-backed Durable Objects.
|
tpmmorris
reviewed
Sep 18, 2026
| "*/vitest.*config.*ts", | ||
| // Hosted non-Linux runners do not provide the Docker engine required by | ||
| // the enabled Container project. The disabled project still runs there. | ||
| ...(isCINonLinux ? ["!container-app/vitest.config.ts"] : []), |
Collaborator
There was a problem hiding this comment.
Should we also exclude container testing for all native windows as this will always fail if CI is not set and might cause some confusion? Similar to durable objects below
ghostwriternr
force-pushed
the
naresh/vitest-container-support
branch
from
September 21, 2026 17:23
0d15630 to
86c9a62
Compare
ghostwriternr
changed the base branch from
main
to
naresh/vitest-clean-failed-runtimes
September 21, 2026 17:23
ghostwriternr
added this pull request to stack #15757
September 21, 2026 17:23
Prepare Container images from normalized Worker configuration so tests can use the real ctx.container runtime interface. Cache prepared images across overlapping pool workers, cancel unfinished builds during shutdown, and resume after Vitest configuration restarts. A throwing runner-socket close must not skip managed Miniflare disposal. Cover Durable Object-managed named images and scheduler-backed default images in one fixture. Cloudflare-managed registry images remain unsupported.
Container image preparation is cached between watch runs. Invalidate that cache when local Docker inputs change so reruns cannot use stale images.
ghostwriternr
force-pushed
the
naresh/vitest-container-support
branch
from
September 22, 2026 00:20
86c9a62 to
f44bcda
Compare
ghostwriternr
marked this pull request as draft
September 22, 2026 08:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@cloudflare/vitest-plugincurrently disables Containers, so a Worker that usesctx.containercannot be tested in the Workers Vitest pool.Prepare default and named images from the Worker configuration Wrangler and Vite already use. Cloudflare-managed registry images remain unsupported.
Image preparation is cached across watch reruns, and Dockerfile or build-context changes rebuild the affected images. Runtime containers remain workerd-owned and are removed through managed Miniflare disposal. A run-scoped Docker acceptance test verifies both application and proxy-sidecar removal by exact ID. Projects that set
dev.enable_containerstofalsestay Docker-independent.