Make v0.1.0 Unraid-ready: multi-arch image, correct image path, registry-login docs
CI Smoke / toolchain (push) Successful in 1s

- Publish v0.1.0/latest as multi-arch (linux/amd64+arm64); amd64 passes 17/17 smoke
- publish-image.sh: add PLATFORMS multi-arch buildx mode (reproducible amd64 build)
- compose + unraid notes: fix image path to include jason/ namespace
- unraid notes: document required docker login (private package) and host label
  for docker build/push jobs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Jason Stedwell
2026-06-29 22:18:38 -05:00
parent ffc75cc25f
commit 1ad33c2396
4 changed files with 50 additions and 4 deletions
+25
View File
@@ -25,6 +25,31 @@ LOCAL_TAG="${IMAGE_NAME}:${VERSION}"
REMOTE_TAG="${REMOTE_REPO}:${VERSION}"
REMOTE_LATEST="${REMOTE_REPO}:latest"
# PLATFORMS (e.g. "linux/amd64,linux/arm64") triggers a multi-arch buildx build
# that is pushed directly as a single manifest list. This is the recommended
# path: Unraid hosts are amd64, so the published image must include amd64 even
# when built on an arm64 (Apple Silicon) machine. Leave unset for a single-arch
# tag-and-push of an already-built local image.
PLATFORMS="${PLATFORMS:-}"
if [ -n "${PLATFORMS}" ]; then
VCS_REF="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo "Building and pushing multi-arch (${PLATFORMS}) ${REMOTE_TAG} ..."
docker buildx build \
--platform "${PLATFORMS}" \
--build-arg "VERSION=${VERSION}" \
--build-arg "VCS_REF=${VCS_REF}" \
--build-arg "BUILD_DATE=${BUILD_DATE}" \
--tag "${REMOTE_TAG}" \
--tag "${REMOTE_LATEST}" \
--file docker/runner/Dockerfile \
--push \
.
echo "Published multi-arch: ${REMOTE_TAG} (${PLATFORMS})"
exit 0
fi
echo "Tagging ${LOCAL_TAG} as ${REMOTE_TAG} ..."
docker tag "${LOCAL_TAG}" "${REMOTE_TAG}"
docker tag "${LOCAL_TAG}" "${REMOTE_LATEST}"