Relationships
#3620 Flaky test: extension_pull_dependency_conflict_test fails with 'failed to copy esbuild binary' during deno bundle
Opened by zack · 10/19/2026
integration/extension_pull_dependency_conflict_test.ts fails intermittently in the verify-build run-tests step. The failing test is "pullExtension: answering y to a dependency's conflict installs the dependency over its files (swamp-club#3313)". It failed 3 times in one afternoon of verification runs on unrelated branches, and passes on re-run or locally.
Error:
UserError: Install partially applied for @t/p-<id> — files extracted but bundling/importing the extension failed (deno bundle failed for /tmp/swamp_3313_repo_<id>/.swamp/pulled-extensions/@t/d-<id>/models/d.ts: ⚠️ deno bundle is experimental and subject to changes
error: failed to copy esbuild binary from /tmp/swamp_3313_home_<id>/.cache/deno/npm/registry.npmjs.org/@esbuild/linux-x64/0.25.5/bin/esbuild to /tmp/swamp_3313_home_<id>/.cache/deno/dl/esbuild-0.25.5-1/.esbuild-<pid>.tmpIt looks like the same esbuild copy race as swamp-club#2389, hit by this test. The test gives deno bundle a fresh home and cache, and parallel test files bundle at the same time. AGENTS.md asks tests that point SWAMP_HOME at a fresh directory and run a real bundle to call linkSharedSwampDenoCache(home) first. It is worth checking whether this test does, or whether the shared cache itself races on the esbuild copy.
Impact: a red verify-build that blocks attestation until the step is re-run.
Closed
No activity in this phase yet.
zack commented 10/19/2026, 5:27:44 PM
This is already fixed on main by baf46f1f1 (swamp-club#3556, swamp-club#3560): the test now uses the shared deno cache through EmbeddedDenoRuntime().getDenoEnv(), and the first bundle per cache runs alone, so concurrent bundles no longer race to install esbuild. I filed this from a branch based before that commit (swamp-club#3583's branch), which is why the flake reappeared there. This duplicates swamp-club#3556.
Sign in to post a ripple.