





























@@ -63,7 +63,7 @@ jobs:
63636464# KEEP THIS WORKFLOW ON GITHUB-HOSTED RUNNERS.
6565# DO NOT MOVE IT BACK TO BLACKSMITH WITHOUT RE-VALIDATING TAG BUILDS AND BACKFILLS.
66-# Build amd64 images (default + slim share the build stage cache)
66+# Build amd64 image. Default and slim tags point to the same slim runtime.
6767build-amd64:
6868needs: [approve_manual_backfill]
6969if: ${{ always() && (github.event_name != 'workflow_dispatch' || needs.approve_manual_backfill.result == 'success') }}
@@ -74,7 +74,6 @@ jobs:
7474contents: read
7575outputs:
7676digest: ${{ steps.build.outputs.digest }}
77-slim-digest: ${{ steps.build-slim.outputs.digest }}
7877steps:
7978 - name: Checkout
8079uses: actions/checkout@v6
@@ -117,12 +116,7 @@ jobs:
117116 fi
118117 {
119118 echo "value<<EOF"
120- printf "%s\n" "${tags[@]}"
121- echo "EOF"
122- } >> "$GITHUB_OUTPUT"
123- {
124- echo "slim<<EOF"
125- printf "%s\n" "${slim_tags[@]}"
119+ printf "%s\n" "${tags[@]}" "${slim_tags[@]}"
126120 echo "EOF"
127121 } >> "$GITHUB_OUTPUT"
128122@@ -167,25 +161,7 @@ jobs:
167161provenance: mode=max
168162push: true
169163170- - name: Build and push amd64 slim image
171-id: build-slim
172-# WARNING: KEEP THE OFFICIAL DOCKER ACTION HERE; DO NOT SWITCH THIS BACK TO BLACKSMITH BLINDLY.
173-uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
174-with:
175-context: .
176-platforms: linux/amd64
177-cache-from: type=gha,scope=docker-release-amd64
178-cache-to: type=gha,mode=max,scope=docker-release-amd64
179-build-args: |
180- OPENCLAW_EXTENSIONS=diagnostics-otel
181- OPENCLAW_VARIANT=slim
182- tags: ${{ steps.tags.outputs.slim }}
183-labels: ${{ steps.labels.outputs.value }}
184-sbom: true
185-provenance: mode=max
186-push: true
187-188-# Build arm64 images (default + slim share the build stage cache)
164+# Build arm64 image. Default and slim tags point to the same slim runtime.
189165build-arm64:
190166needs: [approve_manual_backfill]
191167if: ${{ always() && (github.event_name != 'workflow_dispatch' || needs.approve_manual_backfill.result == 'success') }}
@@ -196,7 +172,6 @@ jobs:
196172contents: read
197173outputs:
198174digest: ${{ steps.build.outputs.digest }}
199-slim-digest: ${{ steps.build-slim.outputs.digest }}
200175steps:
201176 - name: Checkout
202177uses: actions/checkout@v6
@@ -239,12 +214,7 @@ jobs:
239214 fi
240215 {
241216 echo "value<<EOF"
242- printf "%s\n" "${tags[@]}"
243- echo "EOF"
244- } >> "$GITHUB_OUTPUT"
245- {
246- echo "slim<<EOF"
247- printf "%s\n" "${slim_tags[@]}"
217+ printf "%s\n" "${tags[@]}" "${slim_tags[@]}"
248218 echo "EOF"
249219 } >> "$GITHUB_OUTPUT"
250220@@ -289,24 +259,6 @@ jobs:
289259provenance: mode=max
290260push: true
291261292- - name: Build and push arm64 slim image
293-id: build-slim
294-# WARNING: KEEP THE OFFICIAL DOCKER ACTION HERE; DO NOT SWITCH THIS BACK TO BLACKSMITH BLINDLY.
295-uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
296-with:
297-context: .
298-platforms: linux/arm64
299-cache-from: type=gha,scope=docker-release-arm64
300-cache-to: type=gha,mode=max,scope=docker-release-arm64
301-build-args: |
302- OPENCLAW_EXTENSIONS=diagnostics-otel
303- OPENCLAW_VARIANT=slim
304- tags: ${{ steps.tags.outputs.slim }}
305-labels: ${{ steps.labels.outputs.value }}
306-sbom: true
307-provenance: mode=max
308-push: true
309-310262# Create multi-platform manifests
311263create-manifest:
312264needs: [approve_manual_backfill, build-amd64, build-arm64]
@@ -361,16 +313,11 @@ jobs:
361313 fi
362314 {
363315 echo "value<<EOF"
364- printf "%s\n" "${tags[@]}"
365- echo "EOF"
366- } >> "$GITHUB_OUTPUT"
367- {
368- echo "slim<<EOF"
369- printf "%s\n" "${slim_tags[@]}"
316+ printf "%s\n" "${tags[@]}" "${slim_tags[@]}"
370317 echo "EOF"
371318 } >> "$GITHUB_OUTPUT"
372319373- - name: Create and push default manifest
320+ - name: Create and push manifest
374321shell: bash
375322env:
376323TAGS: ${{ steps.tags.outputs.value }}
@@ -388,24 +335,6 @@ jobs:
388335 "${AMD64_DIGEST}" \
389336 "${ARM64_DIGEST}"
390337391- - name: Create and push slim manifest
392-shell: bash
393-env:
394-SLIM_TAGS: ${{ steps.tags.outputs.slim }}
395-AMD64_SLIM_DIGEST: ${{ needs.build-amd64.outputs.slim-digest }}
396-ARM64_SLIM_DIGEST: ${{ needs.build-arm64.outputs.slim-digest }}
397-run: |
398- set -euo pipefail
399- mapfile -t tags <<< "${SLIM_TAGS}"
400- args=()
401- for tag in "${tags[@]}"; do
402- [ -z "$tag" ] && continue
403- args+=("-t" "$tag")
404- done
405- docker buildx imagetools create "${args[@]}" \
406- "${AMD64_SLIM_DIGEST}" \
407- "${ARM64_SLIM_DIGEST}"
408-409338 verify-attestations:
410339needs: [create-manifest]
411340if: ${{ always() && needs.create-manifest.result == 'success' }}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。