Skip to content

Commit 07d2e58

Browse files
feat: update openclaw version
1 parent 112a5be commit 07d2e58

2 files changed

Lines changed: 36 additions & 17 deletions

File tree

‎.github/workflows/openclaw-release.yml‎

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Build OpenClaw Image
2-
run-name: Build OpenClaw Image ${{ github.event.inputs.openclawTag || github.ref_name }}
2+
run-name: Build OpenClaw Image ${{ github.event.inputs.dockerTag || github.event.inputs.openclawTag || github.ref_name }}
33

44
on:
55
push:
@@ -8,12 +8,16 @@ on:
88
workflow_dispatch:
99
inputs:
1010
openclawTag:
11-
default: "2026.10.5"
12-
description: "OpenClaw release and Docker Hub tag, for example 2026.10.5"
11+
default: "2026.10.7"
12+
description: "Upstream OpenClaw release without v, for example 2026.10.7"
1313
required: true
14+
dockerTag:
15+
description: "Docker Hub tag; leave empty to use the release (test example: 2026.10.7-feishu-test.1)"
16+
required: false
1417
pushLatest:
15-
description: "Push latest tag"
16-
default: "true"
18+
description: "Also push latest tag"
19+
type: boolean
20+
default: false
1721
required: true
1822

1923
env:
@@ -36,21 +40,33 @@ jobs:
3640
env:
3741
EVENT_NAME: ${{ github.event_name }}
3842
INPUT_OPENCLAW_TAG: ${{ github.event.inputs.openclawTag }}
43+
INPUT_DOCKER_TAG: ${{ github.event.inputs.dockerTag }}
3944
INPUT_PUSH_LATEST: ${{ github.event.inputs.pushLatest }}
4045
REF_NAME: ${{ github.ref_name }}
4146
run: |
4247
set -euo pipefail
4348
4449
if [ "$EVENT_NAME" = "workflow_dispatch" ]; then
4550
openclaw_tag="${INPUT_OPENCLAW_TAG}"
46-
push_latest="${INPUT_PUSH_LATEST:-true}"
51+
dockerhub_tag="${INPUT_DOCKER_TAG:-$openclaw_tag}"
52+
push_latest="${INPUT_PUSH_LATEST:-false}"
4753
else
4854
openclaw_tag="${REF_NAME#v}"
55+
dockerhub_tag="$openclaw_tag"
4956
push_latest="true"
5057
fi
5158
52-
if [ -z "$openclaw_tag" ]; then
53-
echo "::error::Failed to resolve OpenClaw tag"
59+
if [[ ! "$openclaw_tag" =~ ^[0-9]+\.[0-9]+\.[0-9]+([.-][A-Za-z0-9]+)*$ ]]; then
60+
echo "::error::Invalid OpenClaw release; use a version without the v prefix"
61+
exit 1
62+
fi
63+
# Leave room for the -amd64 and -arm64 suffixes within Docker's 128-character limit.
64+
if [[ ! "$dockerhub_tag" =~ ^[A-Za-z0-9_][A-Za-z0-9_.-]{0,121}$ ]] || [ "$dockerhub_tag" = "latest" ]; then
65+
echo "::error::Invalid Docker Hub tag; use a versioned tag and pushLatest for latest"
66+
exit 1
67+
fi
68+
if [ "$push_latest" != "true" ] && [ "$push_latest" != "false" ]; then
69+
echo "::error::pushLatest must be true or false"
5470
exit 1
5571
fi
5672
@@ -66,7 +82,7 @@ jobs:
6682
6783
{
6884
echo "openclaw_tag=$openclaw_tag"
69-
echo "dockerhub_tag=$openclaw_tag"
85+
echo "dockerhub_tag=$dockerhub_tag"
7086
echo "push_latest=$push_latest"
7187
echo "source_sha=$source_sha"
7288
echo "built_at=$built_at"
@@ -118,7 +134,7 @@ jobs:
118134
GIT_COMMIT=${{ needs.resolve.outputs.source_sha }}
119135
OPENCLAW_BUILD_TIMESTAMP=${{ needs.resolve.outputs.built_at }}
120136
OPENCLAW_DOCKER_BUILD_VERSION=${{ needs.resolve.outputs.openclaw_tag }}
121-
OPENCLAW_EXTENSIONS=diagnostics-otel,codex
137+
OPENCLAW_EXTENSIONS=diagnostics-otel,codex,feishu
122138
OPENCLAW_INSTALL_BROWSER=true
123139
tags: |
124140
${{ env.IMAGE_NAME }}:${{ needs.resolve.outputs.dockerhub_tag }}-amd64
@@ -171,7 +187,7 @@ jobs:
171187
GIT_COMMIT=${{ needs.resolve.outputs.source_sha }}
172188
OPENCLAW_BUILD_TIMESTAMP=${{ needs.resolve.outputs.built_at }}
173189
OPENCLAW_DOCKER_BUILD_VERSION=${{ needs.resolve.outputs.openclaw_tag }}
174-
OPENCLAW_EXTENSIONS=diagnostics-otel,codex
190+
OPENCLAW_EXTENSIONS=diagnostics-otel,codex,feishu
175191
OPENCLAW_INSTALL_BROWSER=true
176192
tags: |
177193
${{ env.IMAGE_NAME }}:${{ needs.resolve.outputs.dockerhub_tag }}-arm64

‎openclaw/Dockerfile‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
# build layer is not invalidated by unrelated source changes.
1111
#
1212
# Build stages use full bookworm; the runtime image is always bookworm-slim.
13-
ARG OPENCLAW_EXTENSIONS=""
13+
ARG OPENCLAW_EXTENSIONS="feishu"
1414
ARG OPENCLAW_BUNDLED_PLUGIN_DIR=extensions
1515
ARG OPENCLAW_DOCKER_BUILD_NODE_OPTIONS="--max-old-space-size=8192"
1616
ARG OPENCLAW_DOCKER_BUILD_TSDOWN_MAX_OLD_SPACE_MB=""
1717
ARG OPENCLAW_DOCKER_BUILD_SKIP_DTS=1
18-
ARG OPENCLAW_EXCLUDE_BUNDLED_PLUGINS="qqbot feishu"
19-
ARG OPENCLAW_NODE_BOOKWORM_IMAGE="docker.io/library/node:24-bookworm@sha256:64af3819f9275802414d7cdc38c27e9d82bd564dec4d4da87d008255d36c63b4"
20-
ARG OPENCLAW_NODE_BOOKWORM_SLIM_IMAGE="docker.io/library/node:24-bookworm-slim@sha256:0e0ff40c39bc087845bfb27465a0df4ea419520094bc35842ff83dd8cbe6f9b6"
21-
ARG OPENCLAW_NODE_BOOKWORM_SLIM_DIGEST="sha256:0e0ff40c39bc087845bfb27465a0df4ea419520094bc35842ff83dd8cbe6f9b6"
18+
ARG OPENCLAW_EXCLUDE_BUNDLED_PLUGINS="qqbot"
19+
ARG OPENCLAW_NODE_BOOKWORM_IMAGE="docker.io/library/node:24.22.1-bookworm@sha256:6449e19d8184d84062525b6a7524def03146c2cb04a7f08b076680d0e8e4240a"
20+
ARG OPENCLAW_NODE_BOOKWORM_SLIM_IMAGE="docker.io/library/node:24.22.1-bookworm-slim@sha256:55fb5f5a527ea2c5c4a95f963e48ef90aa38c7b346054fdc8ee9957a2b55d205"
21+
ARG OPENCLAW_NODE_BOOKWORM_SLIM_DIGEST="sha256:55fb5f5a527ea2c5c4a95f963e48ef90aa38c7b346054fdc8ee9957a2b55d205"
2222
# Keep in sync with .github/actions/setup-node-env/action.yml bun-version.
2323
# To update: docker buildx imagetools inspect docker.io/oven/bun:<version> and use the manifest-list digest.
2424
ARG OPENCLAW_BUN_IMAGE="docker.io/oven/bun:1.4.2@sha256:9114c058aeae42162ee16dd5084b95fe9473970bb6bcb5b232ab1630f0546895"
@@ -211,6 +211,8 @@ RUN node scripts/postinstall-bundled-plugins.mjs && \
211211
rm -rf "dist/${OPENCLAW_BUNDLED_PLUGIN_DIR}/$plugin"; \
212212
fi; \
213213
done && \
214+
test -f dist/extensions/feishu/openclaw.plugin.json && \
215+
touch /app/.1panel-feishu-bundled-v1 && \
214216
find dist -type f \( -name '*.d.ts' -o -name '*.d.mts' -o -name '*.d.cts' -o -name '*.map' \) -delete && \
215217
if [ -L /app/node_modules/@openclaw/ai ]; then \
216218
ai_runtime_target="$(readlink -f /app/node_modules/@openclaw/ai)" && \
@@ -234,7 +236,7 @@ RUN node scripts/postinstall-bundled-plugins.mjs && \
234236

235237
FROM ${OPENCLAW_NODE_BOOKWORM_SLIM_IMAGE} AS base-runtime
236238
ARG OPENCLAW_NODE_BOOKWORM_SLIM_DIGEST
237-
LABEL org.opencontainers.image.base.name="docker.io/library/node:24-bookworm-slim" \
239+
LABEL org.opencontainers.image.base.name="docker.io/library/node:24.22.1-bookworm-slim" \
238240
org.opencontainers.image.base.digest="${OPENCLAW_NODE_BOOKWORM_SLIM_DIGEST}"
239241

240242
FROM base-runtime
@@ -276,6 +278,7 @@ RUN chown node:node /app
276278

277279
COPY --from=runtime-assets --chown=node:node /app/dist ./dist
278280
COPY --from=runtime-assets --chown=node:node /app/node_modules ./node_modules
281+
COPY --from=runtime-assets --chown=node:node /app/.1panel-feishu-bundled-v1 .
279282
COPY --from=runtime-assets --chown=node:node /app/package.json .
280283
COPY --from=runtime-assets --chown=node:node /app/pnpm-lock.yaml .
281284
COPY --from=runtime-assets --chown=node:node /app/pnpm-workspace.yaml .

0 commit comments

Comments
 (0)