1
0

hooks/post_checkout, hooks/post_push, and multi-arch-manifest.yaml try to get multi-arch working more smoothly

This commit is contained in:
David Personette
2020-04-11 23:19:10 -04:00
parent 4bfd11ae81
commit a77afc2d40
8 changed files with 36 additions and 22 deletions

View File

@@ -1,14 +1,18 @@
#!/usr/bin/env bash
[[ "${DOCKER_TAG}" == "latest" ]] && \
API="https://api.github.com/repos/estesp/manifest-tool/tags"
URL="https://github.com/estesp/manifest-tool/releases/download"
TAG=$(curl -Ls $API | awk -F'"' '/name.*v[0-9]/ {print $4; exit}')
curl -LSso manifest-tool "${URL}/${TAG}/manifest-tool-linux-amd64"
chmod +x manifest-tool
[[ "${DOCKER_TAG}" == "amd64" ]] && \
{ echo 'qemu-user-static: Download not required for this arch'; exit 0; }
TAGS_API="https://api.github.com/repos/multiarch/qemu-user-static/tags"
API="https://api.github.com/repos/multiarch/qemu-user-static/tags"
URL="https://github.com/multiarch/qemu-user-static/releases/download"
LATEST_TAG=$(curl -Ls $TAGS_API | \
awk -F'"' '/name.*v[0-9]/ {print $4; exit}')
TAG=$(curl -Ls $API | awk -F'"' '/name.*v[0-9]/ {print $4; exit}')
ARCH=$([[ "${DOCKER_TAG}" == "armhf" ]] && \
echo "${DOCKER_TAG::-2}" || echo "${DOCKER_TAG}")
curl -Ls "${URL}/${LATEST_TAG}/x86_64_qemu-${ARCH}-static.tar.gz" | \
tar xzv
curl -LSs "${URL}/${TAG}/x86_64_qemu-${ARCH}-static.tar.gz" | tar xzv

6
hooks/post_push Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# Use manifest-tool to create the manifest, given the experimental
# "docker manifest" command isn't available yet on Docker Hub.
./manifest-tool push from-spec multi-arch-manifest.yaml

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
[[ "${DOCKER_TAG}" == "latest" ]] && \
[[ "${DOCKER_TAG}" == "amd64" ]] && \
{ echo 'qemu-user-static: Registration not required for this arch';exit 0; }
docker run --rm --privileged multiarch/qemu-user-static:register --reset