Skip to main content
← Back to list
01Issue
BugClosedSwamp CLIPublic
AssigneesNone

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>.tmp

It 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.

02Bog Flow
✓OPEN○TRIAGED○IN PROGRESS◉CLOSED

Closed

10/19/2026, 5:29:47 PM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

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.