mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-06 05:51:15 +08:00
fix(test): stage live docker home credentials
This commit is contained in:
@@ -731,7 +731,7 @@ describe("scripts/lib/docker-e2e-plan", () => {
|
||||
expect(plan.lanes.map(summarizeLane)).toEqual([
|
||||
{
|
||||
command:
|
||||
'OPENCLAW_SKIP_DOCKER_BUILD=1 bash -c \'harness="${OPENCLAW_DOCKER_E2E_TRUSTED_HARNESS_DIR:-}"; if [ -z "$harness" ]; then if [ -d .release-harness/scripts ]; then harness=.release-harness; else harness=.; fi; fi; OPENCLAW_LIVE_DOCKER_REPO_ROOT="${OPENCLAW_DOCKER_E2E_REPO_ROOT:-$PWD}" bash "$harness/scripts/e2e/codex-npm-plugin-live-docker.sh"\'',
|
||||
'OPENCLAW_SKIP_DOCKER_BUILD=1 bash -c \'harness="${OPENCLAW_DOCKER_E2E_TRUSTED_HARNESS_DIR:-.}"; OPENCLAW_LIVE_DOCKER_REPO_ROOT="${OPENCLAW_DOCKER_E2E_REPO_ROOT:-$PWD}" bash "$harness/scripts/e2e/codex-npm-plugin-live-docker.sh"\'',
|
||||
imageKind: "bare",
|
||||
live: true,
|
||||
name: "live-codex-npm-plugin",
|
||||
@@ -826,7 +826,7 @@ describe("scripts/lib/docker-e2e-plan", () => {
|
||||
expect(plan.lanes).toHaveLength(1);
|
||||
const lane = requireFirstLane(plan);
|
||||
expect(lane.command).toBe(
|
||||
'OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 OPENCLAW_SKIP_DOCKER_BUILD=1 bash -c \'harness="${OPENCLAW_DOCKER_E2E_TRUSTED_HARNESS_DIR:-}"; if [ -z "$harness" ]; then if [ -d .release-harness/scripts ]; then harness=.release-harness; else harness=.; fi; fi; OPENCLAW_LIVE_DOCKER_REPO_ROOT="${OPENCLAW_DOCKER_E2E_REPO_ROOT:-$PWD}" bash "$harness/scripts/test-live-acp-bind-docker.sh"\'',
|
||||
'OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 OPENCLAW_SKIP_DOCKER_BUILD=1 bash -c \'harness="${OPENCLAW_DOCKER_E2E_TRUSTED_HARNESS_DIR:-.}"; OPENCLAW_LIVE_DOCKER_REPO_ROOT="${OPENCLAW_DOCKER_E2E_REPO_ROOT:-$PWD}" bash "$harness/scripts/test-live-acp-bind-docker.sh"\'',
|
||||
);
|
||||
expect(lane.imageKind).toBeUndefined();
|
||||
expect(lane.live).toBe(true);
|
||||
|
||||
@@ -790,9 +790,14 @@ describe("package artifact reuse", () => {
|
||||
'command: OPENCLAW_LIVE_DOCKER_REPO_ROOT="$GITHUB_WORKSPACE" timeout --foreground --kill-after=30s 20m bash .release-harness/scripts/test-live-subagent-announce-docker.sh',
|
||||
);
|
||||
expect(scenarios).toContain("function liveDockerScriptCommand");
|
||||
expect(scenarios).toContain("const LIVE_DOCKER_DEFAULT_HARNESS_DIR");
|
||||
expect(scenarios).toContain("fileURLToPath(import.meta.url)");
|
||||
expect(scenarios).toContain('? ".release-harness"');
|
||||
expect(scenarios).toContain("process.env.OPENCLAW_DOCKER_E2E_REPO_ROOT");
|
||||
expect(scenarios).toContain(
|
||||
"if [ -d .release-harness/scripts ]; then harness=.release-harness",
|
||||
'harness="\\${OPENCLAW_DOCKER_E2E_TRUSTED_HARNESS_DIR:-${LIVE_DOCKER_DEFAULT_HARNESS_DIR}}"',
|
||||
);
|
||||
expect(scenarios).not.toContain("harness=.release-harness");
|
||||
expect(scenarios).toMatch(/liveDockerScriptCommand\(\s*"test-live-models-docker\.sh"/u);
|
||||
expect(scenarios).toMatch(/liveDockerScriptCommand\(\s*"test-live-gateway-models-docker\.sh"/u);
|
||||
expect(scenarios).toMatch(/liveDockerScriptCommand\(\s*"test-live-cli-backend-docker\.sh"/u);
|
||||
@@ -805,9 +810,21 @@ describe("package artifact reuse", () => {
|
||||
/liveDockerScriptCommand\(\s*"test-live-subagent-announce-docker\.sh"/u,
|
||||
);
|
||||
expect(scheduler).toContain("function liveDockerHarnessScriptCommand");
|
||||
expect(scheduler).toContain("const LIVE_DOCKER_DEFAULT_HARNESS_DIR");
|
||||
expect(scheduler).toContain('path.basename(SCRIPT_ROOT_DIR) === ".release-harness"');
|
||||
expect(scheduler).toContain("ROOT_DIR !== SCRIPT_ROOT_DIR");
|
||||
expect(scheduler).toContain(
|
||||
'harness="\\${OPENCLAW_DOCKER_E2E_TRUSTED_HARNESS_DIR:-${LIVE_DOCKER_DEFAULT_HARNESS_DIR}}"',
|
||||
);
|
||||
expect(scheduler).not.toContain("harness=.release-harness");
|
||||
expect(scheduler).toContain('liveDockerHarnessScriptCommand("test-live-build-docker.sh")');
|
||||
expect(liveDockerAuth).toContain("codex-cli | openai)");
|
||||
expect(liveDockerAuth).toContain("openclaw_live_init_docker_run_args()");
|
||||
expect(liveDockerAuth).toContain("openclaw_live_stage_profile_into_home()");
|
||||
expect(liveDockerAuth).toContain("openclaw_live_chown_bind_dirs_for_container_user()");
|
||||
expect(liveDockerAuth).toContain("openclaw_live_uses_managed_bind_dirs()");
|
||||
expect(liveDockerAuth).toContain('openclaw_live_truthy "${OPENCLAW_TESTBOX:-}"');
|
||||
expect(liveDockerAuth).toContain('[[ -n "${OPENCLAW_DOCKER_CACHE_HOME_DIR:-}" ]]');
|
||||
expect(liveDockerAuth).toContain(
|
||||
'timeout_value="${2:-${OPENCLAW_LIVE_DOCKER_RUN_TIMEOUT:-2700s}}"',
|
||||
);
|
||||
@@ -825,10 +842,12 @@ describe("package artifact reuse", () => {
|
||||
expect(script).toContain('source "$TRUSTED_HARNESS_DIR/scripts/lib/live-docker-auth.sh"');
|
||||
expect(script).not.toContain('source "$ROOT_DIR/scripts/lib/live-docker-auth.sh"');
|
||||
expect(script).toContain("openclaw_live_init_docker_run_args DOCKER_RUN_ARGS");
|
||||
expect(script).toContain("openclaw_live_prepare_bind_dir_for_container_user");
|
||||
expect(script).toContain("DOCKER_RUN_ARGS+=(--rm -t \\");
|
||||
expect(script).not.toContain("DOCKER_RUN_ARGS=(docker run --rm -t \\");
|
||||
}
|
||||
for (const script of sharedLiveScripts) {
|
||||
expect(script).toContain("openclaw_live_uses_managed_bind_dirs");
|
||||
expect(script).toContain(
|
||||
'OPENCLAW_LIVE_DOCKER_REPO_ROOT="$ROOT_DIR" "$TRUSTED_HARNESS_DIR/scripts/test-live-build-docker.sh"',
|
||||
);
|
||||
|
||||
@@ -15,10 +15,12 @@ describe("scripts/test-live-codex-harness-docker.sh", () => {
|
||||
expect(script).toContain('DOCKER_CACHE_CONTAINER_DIR="/tmp/openclaw-cache"');
|
||||
expect(script).toContain('DOCKER_CLI_TOOLS_CONTAINER_DIR="/tmp/openclaw-npm-global"');
|
||||
expect(script).toContain("openclaw_live_codex_harness_is_ci()");
|
||||
expect(script).toContain('[[ -n "${CI:-}" && "${CI:-}" != "false" ]]');
|
||||
expect(script).toContain("openclaw_live_is_ci");
|
||||
expect(script).toContain('-e XDG_CACHE_HOME="$DOCKER_CACHE_CONTAINER_DIR"');
|
||||
expect(script).toContain('-e NPM_CONFIG_PREFIX="$DOCKER_CLI_TOOLS_CONTAINER_DIR"');
|
||||
expect(script).toContain('chmod 0777 "$CLI_TOOLS_DIR" "$CACHE_HOME_DIR" || true');
|
||||
expect(script).toContain('openclaw_live_prepare_bind_dir_for_container_user "$CLI_TOOLS_DIR"');
|
||||
expect(script).toContain('openclaw_live_prepare_bind_dir_for_container_user "$CACHE_HOME_DIR"');
|
||||
expect(script).toContain("openclaw_live_uses_managed_bind_dirs");
|
||||
expect(script).toContain('-v "$CACHE_HOME_DIR":"$DOCKER_CACHE_CONTAINER_DIR"');
|
||||
expect(script).toContain('-v "$CLI_TOOLS_DIR":"$DOCKER_CLI_TOOLS_CONTAINER_DIR"');
|
||||
expect(script).not.toContain('-v "$CACHE_HOME_DIR":/home/node/.cache');
|
||||
@@ -51,6 +53,7 @@ describe("scripts/test-live-codex-harness-docker.sh", () => {
|
||||
const script = fs.readFileSync(SCRIPT_PATH, "utf8");
|
||||
|
||||
expect(script).toContain('DOCKER_USER="$(id -u):$(id -g)"');
|
||||
expect(script).toContain("if openclaw_live_uses_managed_bind_dirs; then");
|
||||
expect(script).toContain('if [[ "$CODEX_HARNESS_AUTH_MODE" == "api-key" ]]; then');
|
||||
expect(script).toContain('if [[ -z "${DOCKER_HOME_DIR:-}" ]]; then');
|
||||
expect(script).not.toContain('DOCKER_USER="0:0"');
|
||||
|
||||
Reference in New Issue
Block a user