chore: release v0.6.9

Publish the multi-arch Docker image with Buildx instead of the legacy
docker driver, whose GHCR push intermittently failed with 'unknown
blob'. The manifest list is now assembled registry-side with
`imagetools create`. This also unblocks the Homebrew formula update,
which depends on the Docker job. No library or CLI behavior changes.
This commit is contained in:
Valerio 2026-06-10 15:30:39 +02:00
parent 7dfa180e86
commit 2773474984
4 changed files with 24 additions and 16 deletions

View file

@ -172,29 +172,32 @@ jobs:
done
ls -laR binaries-*/
# Build per-arch images with plain docker build (no buildx manifest nesting)
# Build each arch with buildx (the docker-container driver from
# setup-buildx-action), pushing straight to the registry. Plain
# `docker build --push` uses the legacy docker driver, whose GHCR push
# path intermittently fails with "ERROR: unknown blob"; buildx's registry
# exporter does not. The multi-arch list is then assembled registry-side
# with `imagetools create` (no local manifest store, so no blob races).
- name: Build and push
run: |
tag="${GITHUB_REF#refs/tags/}"
# amd64
docker build -f Dockerfile.ci --build-arg BINARY_DIR=binaries-x86_64-unknown-linux-gnu \
docker buildx build -f Dockerfile.ci --build-arg BINARY_DIR=binaries-x86_64-unknown-linux-gnu \
--platform linux/amd64 -t ghcr.io/0xmassi/webclaw:${tag}-amd64 --push .
# arm64
docker build -f Dockerfile.ci --build-arg BINARY_DIR=binaries-aarch64-unknown-linux-gnu \
docker buildx build -f Dockerfile.ci --build-arg BINARY_DIR=binaries-aarch64-unknown-linux-gnu \
--platform linux/arm64 -t ghcr.io/0xmassi/webclaw:${tag}-arm64 --push .
# Multi-arch manifest
docker manifest create ghcr.io/0xmassi/webclaw:${tag} \
# Multi-arch manifest list, assembled from the already-pushed per-arch tags
docker buildx imagetools create -t ghcr.io/0xmassi/webclaw:${tag} \
ghcr.io/0xmassi/webclaw:${tag}-amd64 \
ghcr.io/0xmassi/webclaw:${tag}-arm64
docker manifest push ghcr.io/0xmassi/webclaw:${tag}
docker manifest create ghcr.io/0xmassi/webclaw:latest \
docker buildx imagetools create -t ghcr.io/0xmassi/webclaw:latest \
ghcr.io/0xmassi/webclaw:${tag}-amd64 \
ghcr.io/0xmassi/webclaw:${tag}-arm64
docker manifest push ghcr.io/0xmassi/webclaw:latest
homebrew:
name: Update Homebrew