mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 10:50:44 +00:00
fix(ci): trust live docker harness scripts
This commit is contained in:
@@ -66,7 +66,9 @@ describe("docker build helper", () => {
|
||||
expect(liveBuild).toContain("docker image inspect");
|
||||
expect(liveBuild).toContain("docker pull");
|
||||
expect(liveBuild).toContain("Live-test image not available; building");
|
||||
expect(liveCliBackend).toContain('"$ROOT_DIR/scripts/test-live-build-docker.sh"');
|
||||
expect(liveCliBackend).toContain(
|
||||
'OPENCLAW_LIVE_DOCKER_REPO_ROOT="$ROOT_DIR" "$TRUSTED_HARNESS_DIR/scripts/test-live-build-docker.sh"',
|
||||
);
|
||||
expect(liveCliBackend).not.toContain(
|
||||
'echo "==> Reuse live-test image: $LIVE_IMAGE_NAME (OPENCLAW_SKIP_DOCKER_BUILD=1)"',
|
||||
);
|
||||
|
||||
@@ -129,15 +129,46 @@ describe("package artifact reuse", () => {
|
||||
expect(workflow).toContain("if: matrix.needs_ffmpeg");
|
||||
});
|
||||
|
||||
it("runs the Codex Docker live harness from trusted helper scripts", () => {
|
||||
it("runs Docker live harnesses from trusted helper scripts", () => {
|
||||
const workflow = readFileSync(LIVE_E2E_WORKFLOW, "utf8");
|
||||
const scenarios = readFileSync("scripts/lib/docker-e2e-scenarios.mjs", "utf8");
|
||||
const scheduler = readFileSync("scripts/test-docker-all.mjs", "utf8");
|
||||
const harness = readFileSync("scripts/test-live-codex-harness-docker.sh", "utf8");
|
||||
const sharedLiveScripts = [
|
||||
readFileSync("scripts/test-live-models-docker.sh", "utf8"),
|
||||
readFileSync("scripts/test-live-gateway-models-docker.sh", "utf8"),
|
||||
readFileSync("scripts/test-live-cli-backend-docker.sh", "utf8"),
|
||||
readFileSync("scripts/test-live-acp-bind-docker.sh", "utf8"),
|
||||
];
|
||||
const build = readFileSync("scripts/test-live-build-docker.sh", "utf8");
|
||||
const stage = readFileSync("scripts/lib/live-docker-stage.sh", "utf8");
|
||||
|
||||
expect(workflow).toContain(
|
||||
'run: OPENCLAW_LIVE_DOCKER_REPO_ROOT="$GITHUB_WORKSPACE" bash .release-harness/scripts/test-live-models-docker.sh',
|
||||
);
|
||||
expect(workflow).toContain(
|
||||
'command: OPENCLAW_LIVE_DOCKER_REPO_ROOT="$GITHUB_WORKSPACE" bash .release-harness/scripts/test-live-gateway-models-docker.sh',
|
||||
);
|
||||
expect(workflow).toContain(
|
||||
'command: OPENCLAW_LIVE_DOCKER_REPO_ROOT="$GITHUB_WORKSPACE" bash .release-harness/scripts/test-live-cli-backend-docker.sh',
|
||||
);
|
||||
expect(workflow).toContain(
|
||||
'command: OPENCLAW_LIVE_DOCKER_REPO_ROOT="$GITHUB_WORKSPACE" bash .release-harness/scripts/test-live-acp-bind-docker.sh',
|
||||
);
|
||||
expect(workflow).toContain(
|
||||
'command: OPENCLAW_LIVE_DOCKER_REPO_ROOT="$GITHUB_WORKSPACE" bash .release-harness/scripts/test-live-codex-harness-docker.sh',
|
||||
);
|
||||
expect(scenarios).toContain("function liveDockerScriptCommand");
|
||||
expect(scenarios).toContain(
|
||||
"if [ -d .release-harness/scripts ]; then 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);
|
||||
expect(scenarios).toMatch(/liveDockerScriptCommand\(\s*"test-live-acp-bind-docker\.sh"/u);
|
||||
expect(scenarios).toMatch(/liveDockerScriptCommand\(\s*"test-live-codex-harness-docker\.sh"/u);
|
||||
expect(scheduler).toContain("function liveDockerHarnessScriptCommand");
|
||||
expect(scheduler).toContain('liveDockerHarnessScriptCommand("test-live-build-docker.sh")');
|
||||
expect(harness).toContain('source "$TRUSTED_HARNESS_DIR/scripts/lib/live-docker-auth.sh"');
|
||||
expect(harness).not.toContain('source "$ROOT_DIR/scripts/lib/live-docker-auth.sh"');
|
||||
expect(harness).toContain(
|
||||
@@ -148,6 +179,20 @@ describe("package artifact reuse", () => {
|
||||
);
|
||||
expect(harness).toContain('node --import tsx "$trusted_scripts_dir/prepare-codex-ci-auth.ts"');
|
||||
expect(harness).toContain('source "$trusted_scripts_dir/lib/live-docker-stage.sh"');
|
||||
for (const script of sharedLiveScripts) {
|
||||
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_DOCKER_REPO_ROOT="$ROOT_DIR" "$TRUSTED_HARNESS_DIR/scripts/test-live-build-docker.sh"',
|
||||
);
|
||||
expect(script).toContain('source "$trusted_scripts_dir/lib/live-docker-stage.sh"');
|
||||
expect(script).toContain(
|
||||
'-e OPENCLAW_LIVE_DOCKER_SCRIPTS_DIR="${DOCKER_TRUSTED_HARNESS_CONTAINER_DIR}/scripts"',
|
||||
);
|
||||
expect(script).toContain(
|
||||
"openclaw_live_append_array DOCKER_RUN_ARGS DOCKER_TRUSTED_HARNESS_MOUNT",
|
||||
);
|
||||
}
|
||||
expect(build).toContain('ROOT_DIR="${OPENCLAW_LIVE_DOCKER_REPO_ROOT:-$SCRIPT_ROOT_DIR}"');
|
||||
expect(build).toContain('source "$SCRIPT_ROOT_DIR/scripts/lib/docker-build.sh"');
|
||||
expect(stage).toContain(
|
||||
|
||||
Reference in New Issue
Block a user