Skip to content

Commit d0f7c8f

Browse files
YuanHanzhongsallyom
authored andcommitted
fix(docker): keep codex plugin in release images
1 parent 5d19beb commit d0f7c8f

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

.github/workflows/docker-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ jobs:
155155
cache-from: type=gha,scope=docker-release-amd64
156156
cache-to: type=gha,mode=max,scope=docker-release-amd64
157157
build-args: |
158-
OPENCLAW_EXTENSIONS=diagnostics-otel
158+
OPENCLAW_EXTENSIONS=diagnostics-otel,codex
159159
tags: ${{ steps.tags.outputs.value }}
160160
labels: ${{ steps.labels.outputs.value }}
161161
sbom: true
@@ -253,7 +253,7 @@ jobs:
253253
cache-from: type=gha,scope=docker-release-arm64
254254
cache-to: type=gha,mode=max,scope=docker-release-arm64
255255
build-args: |
256-
OPENCLAW_EXTENSIONS=diagnostics-otel
256+
OPENCLAW_EXTENSIONS=diagnostics-otel,codex
257257
tags: ${{ steps.tags.outputs.value }}
258258
labels: ${{ steps.labels.outputs.value }}
259259
sbom: true

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Docs: https://docs.openclaw.ai
1111

1212
### Fixes
1313

14+
- Docker: keep the bundled Codex plugin in official release image keep lists so the default OpenAI agent harness remains available after Docker pruning. Fixes #83613. (#83626) Thanks @YuanHanzhong.
1415
- CLI/channels: preserve the first line of `openclaw channels logs` output when the rolling tail window starts exactly on a line boundary, mirroring the already-fixed `readLogSlice` behavior in `src/logging/log-tail.ts`.
1516
- Control UI: treat terminal session status as authoritative over stale active-run flags so completed terminal runs stop showing abort/live UI. (#84057)
1617
- CLI: preserve embedded equals signs in inline root option values instead of truncating after the second separator. (#83995) Thanks @ThiagoCAltoe.

src/dockerfile.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import YAML from "yaml";
77

88
const repoRoot = resolve(fileURLToPath(new URL(".", import.meta.url)), "..");
99
const dockerfilePath = join(repoRoot, "Dockerfile");
10+
const dockerReleaseWorkflowPath = join(repoRoot, ".github/workflows/docker-release.yml");
1011
const dockerSetupDockerfilePaths = ["Dockerfile", "scripts/docker/sandbox/Dockerfile"] as const;
1112
const pnpmWorkspacePath = join(repoRoot, "pnpm-workspace.yaml");
1213

@@ -223,6 +224,14 @@ describe("Dockerfile", () => {
223224
);
224225
});
225226

227+
it("keeps the Codex plugin in official Docker release images", async () => {
228+
const workflow = await readFile(dockerReleaseWorkflowPath, "utf8");
229+
const releaseKeepList = "OPENCLAW_EXTENSIONS=diagnostics-otel,codex";
230+
231+
expect(workflow.match(new RegExp(releaseKeepList, "g"))).toHaveLength(2);
232+
expect(workflow).not.toContain("OPENCLAW_EXTENSIONS=diagnostics-otel\n");
233+
});
234+
226235
it("does not override bundled plugin discovery in runtime images", async () => {
227236
const dockerfile = collapseDockerContinuations(await readFile(dockerfilePath, "utf8"));
228237
expect(dockerfile).toContain(`ARG OPENCLAW_BUNDLED_PLUGIN_DIR=${BUNDLED_PLUGIN_ROOT_DIR}`);

0 commit comments

Comments
 (0)