fix: expose hwpod in code queue runners
This commit is contained in:
@@ -8,7 +8,8 @@ ENV CARGO_HOME=/usr/local/cargo
|
||||
ENV PATH=/usr/local/cargo/bin:${PATH}
|
||||
|
||||
COPY scripts/tran /usr/local/bin/tran
|
||||
RUN chmod 755 /usr/local/bin/tran
|
||||
COPY scripts/hwpod /usr/local/bin/hwpod
|
||||
RUN chmod 755 /usr/local/bin/tran /usr/local/bin/hwpod
|
||||
|
||||
RUN (command -v docker >/dev/null 2>&1 && docker buildx version >/dev/null 2>&1 && command -v gh >/dev/null 2>&1 && command -v rg >/dev/null 2>&1 && command -v cargo >/dev/null 2>&1 && command -v rustc >/dev/null 2>&1 && command -v rustfmt >/dev/null 2>&1 && command -v xvfb-run >/dev/null 2>&1) \
|
||||
|| (apt-get update \
|
||||
|
||||
@@ -975,7 +975,21 @@ printf %s ${shellQuote(bridgeBase64)} | base64 -d > ${shellQuote(resolve(ctx().c
|
||||
chmod 700 ${shellQuote(resolve(ctx().config.windowsNativeCodexBridgeDir, "bridge.py"))}`;
|
||||
}
|
||||
|
||||
function hwpodWrapperSource(): string {
|
||||
const candidates = [
|
||||
"/usr/local/bin/hwpod",
|
||||
resolve(ctx().config.defaultWorkdir, "scripts/hwpod"),
|
||||
"/app/scripts/hwpod",
|
||||
"/root/unidesk/scripts/hwpod",
|
||||
resolve(process.cwd(), "scripts/hwpod"),
|
||||
];
|
||||
const path = candidates.find((candidate) => existsSync(candidate));
|
||||
if (path === undefined) throw new Error(`hwpod wrapper source not found in ${candidates.join(", ")}`);
|
||||
return readFileSync(path, "utf8");
|
||||
}
|
||||
|
||||
function remoteCodexRuntimePrepareScript(plan: DevContainerPlan): string {
|
||||
const hwpodWrapper = base64Text(hwpodWrapperSource());
|
||||
return `set -euo pipefail
|
||||
CONTAINER=${shellQuote(plan.containerName)}
|
||||
docker exec -i "$CONTAINER" bash -s <<'INNER'
|
||||
@@ -1008,8 +1022,10 @@ fi
|
||||
if ! command -v opencode >/dev/null 2>&1; then
|
||||
npm install -g --no-audit --no-fund --prefer-offline ${opencodeNpmPackage}
|
||||
fi
|
||||
printf %s ${shellQuote(hwpodWrapper)} | base64 -d > /usr/local/bin/hwpod
|
||||
chmod 755 /usr/local/bin/hwpod
|
||||
mkdir -p "$WORKDIR" "$CODEX_HOME_DIR" "$OPENCODE_XDG_DIR/data" "$OPENCODE_XDG_DIR/config" "$OPENCODE_XDG_DIR/cache" "$OPENCODE_XDG_DIR/state"
|
||||
echo "code_agent_runtime_ready codex=$(command -v codex) opencode=$(command -v opencode) cwd=$WORKDIR home=$CODEX_HOME_DIR opencodeXdg=$OPENCODE_XDG_DIR"
|
||||
echo "code_agent_runtime_ready codex=$(command -v codex) opencode=$(command -v opencode) hwpod=$(command -v hwpod) cwd=$WORKDIR home=$CODEX_HOME_DIR opencodeXdg=$OPENCODE_XDG_DIR"
|
||||
INNER`;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user