rss-bridge/hooks/post_push

35 lines
1.0 KiB
Bash

#!/bin/bash
# Use manifest-tool to create the manifest, given the experimental
# "docker manifest" command isn't available yet on Docker Hub.
MANIFEST_TOOL_VERSION=$(curl -s https://api.github.com/repos/estesp/manifest-tool/releases/latest | grep 'tag_name' | cut -d\" -f4)
curl -Lo manifest-tool https://github.com/estesp/manifest-tool/releases/download/$MANIFEST_TOOL_VERSION/manifest-tool-linux-amd64
chmod +x manifest-tool
# Generate the manifest file.
# Parameter 1 is the multi-arch image name, e.g. rss-bridge/rss-bridge:stable
function generate_manifest {
cat > manifest-generated.yaml << EOF
image: $1
manifests:
- image: $1-amd64
platform:
architecture: amd64
os: linux
- image: $1-arm32v7
platform:
architecture: arm
os: linux
variant: v7
- image: $1-arm64v8
platform:
architecture: arm64
os: linux
variant: v8
EOF
}
echo "Pushing multi-arch manifest $IMAGE_NAME"
generate_manifest $IMAGE_NAME
./manifest-tool push from-spec manifest-generated.yaml