fix: stabilize env reuse apt install
This commit is contained in:
@@ -895,7 +895,7 @@ function envReuseDockerfile(baseImage, labels = [], recipe, service = null) {
|
||||
...(goCacheEnabled ? normalizedRecipe.goOsPackages : [])
|
||||
]);
|
||||
const downloadDependencyScript = `set -eu; ${npmConfigScript}; if [ -f package-lock.json ]; then npm ci --omit=dev --include=optional --ignore-scripts; else npm install --omit=dev --include=optional --ignore-scripts; fi; if command -v bun >/dev/null 2>&1; then bun_path="$(command -v bun)"; if [ "$bun_path" != "/usr/local/bin/bun" ]; then ln -sf "$bun_path" /usr/local/bin/bun; fi; fi; if [ ! -x /usr/local/bin/bun ]; then bun_pkg=""; case "$(uname -m)" in x86_64|amd64) bun_pkg="${normalizedRecipe.downloadStack.bunPackages.x64}@${normalizedRecipe.bunVersion}" ;; aarch64|arm64) bun_pkg="${normalizedRecipe.downloadStack.bunPackages.arm64}@${normalizedRecipe.bunVersion}" ;; *) echo "unsupported bun architecture: $(uname -m)" >&2; false ;; esac; npm install --no-save --omit=dev --include=optional --ignore-scripts "$bun_pkg"; bun_bin="node_modules/\${bun_pkg%@*}/bin/bun"; test -x "$bun_bin"; ln -sf "${runtimeRoot}/$bun_bin" /usr/local/bin/bun; fi`;
|
||||
const osPackageScript = `set -eu; apt-get update; apt-get install -y --no-install-recommends ${osPackages.map(shellQuote).join(" ")}; rm -rf /var/lib/apt/lists/*`;
|
||||
const osPackageScript = `set -eu; export DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC; apt-get update -o Acquire::Retries=3; apt-get install -y --no-install-recommends ${osPackages.map(shellQuote).join(" ")}; rm -rf /var/lib/apt/lists/*`;
|
||||
const aliasScript = normalizedRecipe.hwpodAliases.map((alias) => `printf '%s\\n' '#!/usr/bin/env sh' 'exec node /workspace/hwlab-boot/repo/scripts/run-bun.mjs /workspace/hwlab-boot/repo/${alias.script} \"$@\"' > /usr/local/bin/${alias.command}; chmod 755 /usr/local/bin/${alias.command}`).join("; ");
|
||||
const readinessScript = `set -eu; command -v node >/dev/null; command -v npm >/dev/null; command -v git >/dev/null; command -v sh >/dev/null; test -d ${shellQuote(normalizedRecipe.runtimeNodeModulesPath)}; test -x /usr/local/bin/bun; /usr/local/bin/bun --version >/tmp/hwlab-env-bun-version.txt${goReadiness}; ${aliasScript}`;
|
||||
return [
|
||||
@@ -1316,7 +1316,7 @@ async function buildEnvReuseServiceWithBuildkit({ args, service, ref, buildCreat
|
||||
summary: `BuildKit env image build failed for ${service.serviceId}`,
|
||||
next: "Inspect the env image BuildKit output and base image git/bun availability."
|
||||
}),
|
||||
logTail: tailText(`${result.stdout}\n${result.stderr}`),
|
||||
logTail: tailText(`${result.stdout}\n${result.stderr}`, 12000),
|
||||
buildBackend: "buildkit-env-reuse",
|
||||
buildkitCacheRef: cacheRef,
|
||||
buildkitBuildDurationMs: result.durationMs
|
||||
@@ -1461,7 +1461,7 @@ async function buildServiceWithBuildkit({ args, service, ref, tag, buildCreatedA
|
||||
summary: `BuildKit build failed for ${service.serviceId}`,
|
||||
next: `Inspect the BuildKit output for ${service.serviceId}, then fix its copied source, base image, or registry cache settings.`
|
||||
}),
|
||||
logTail: tailText(`${result.stdout}\n${result.stderr}`),
|
||||
logTail: tailText(`${result.stdout}\n${result.stderr}`, 12000),
|
||||
buildBackend: "buildkit",
|
||||
buildkitCacheRef: cacheRef,
|
||||
buildkitBuildDurationMs: result.durationMs
|
||||
|
||||
Reference in New Issue
Block a user