Give the build runner a writable cache
The Docker runner starts the container with --read-only; only /workspace and a noexec /tmp are writable. Without a cache_root there is nowhere for npm to cache, and the partial writes surface as "tarball data ... seems to be corrupted" across most packages, then exit 254. Isolating it proved the network was fine: the same image on the same network installs playwright-core cleanly outside the runner sandbox. I caused this by omitting cache_root when writing the binding, reasoning that fewer paths meant less to debug. It meant more. Build and test steps now declare NPM_CONFIG_CACHE and HOME; the binding supplies both pointing at /cache, where Idunn bind-mounts the cache root read-write when the build-cache affordance is present. Lowercase env names are rejected by the recipe validator, which is why these are uppercase. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
8c1aa9f9e8
commit
ab18e8428d
1 changed files with 7 additions and 0 deletions
|
|
@ -33,42 +33,49 @@ required_gitlinks = ["vendor/CultLib"]
|
|||
id = "install-cultlib"
|
||||
phase = "build"
|
||||
runner = "node-build"
|
||||
required_environment = ["NPM_CONFIG_CACHE", "HOME"]
|
||||
argv = ["npm", "ci", "--ignore-scripts", "--prefix", "vendor/CultLib"]
|
||||
|
||||
[[steps]]
|
||||
id = "build-cultcache-ts"
|
||||
phase = "build"
|
||||
runner = "node-build"
|
||||
required_environment = ["NPM_CONFIG_CACHE", "HOME"]
|
||||
argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=cultcache-ts"]
|
||||
|
||||
[[steps]]
|
||||
id = "build-cultnet-ts"
|
||||
phase = "build"
|
||||
runner = "node-build"
|
||||
required_environment = ["NPM_CONFIG_CACHE", "HOME"]
|
||||
argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=cultnet-ts"]
|
||||
|
||||
[[steps]]
|
||||
id = "build-cultmesh-ts"
|
||||
phase = "build"
|
||||
runner = "node-build"
|
||||
required_environment = ["NPM_CONFIG_CACHE", "HOME"]
|
||||
argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=cultmesh-ts"]
|
||||
|
||||
[[steps]]
|
||||
id = "install-heimdall"
|
||||
phase = "build"
|
||||
runner = "node-build"
|
||||
required_environment = ["NPM_CONFIG_CACHE", "HOME"]
|
||||
argv = ["pnpm", "install", "--frozen-lockfile"]
|
||||
|
||||
[[steps]]
|
||||
id = "test-heimdall"
|
||||
phase = "test"
|
||||
runner = "node-build"
|
||||
required_environment = ["NPM_CONFIG_CACHE", "HOME"]
|
||||
argv = ["pnpm", "test"]
|
||||
|
||||
[[steps]]
|
||||
id = "build-heimdall"
|
||||
phase = "build"
|
||||
runner = "node-build"
|
||||
required_environment = ["NPM_CONFIG_CACHE", "HOME"]
|
||||
argv = ["pnpm", "build"]
|
||||
|
||||
# The unit runs dist/src/index.js, and Node resolves its imports at runtime, so
|
||||
|
|
|
|||
Loading…
Reference in a new issue