image: egon0/docker-with-buildx-and-git variables: DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "" services: - docker:dind build: stage: build variables: IMAGE_TAG: $CI_REGISTRY_IMAGE D_IMAGE_TAG: egon0/writefreely-multiarch D_LATEST_TAG: egon0/writefreely-multiarch:latest script: - > apk add --no-cache jq wget; LATEST_GITHUB=$(wget --quiet "https://api.github.com/repos/writefreely/writefreely/releases/latest" -O - | jq -r '.tag_name'); LATEST_DHUB=$(wget -q https://registry.hub.docker.com/v1/repositories/$D_IMAGE_TAG/tags -O - | sed -e 's/[][]//g' -e 's/"//g' -e 's/ //g' | tr '}' '\n' | awk -F: '{print $3}' | tail -n1); if [ "$LATEST_GITHUB" != "$LATEST_DHUB" ] then wget https://github.com/writefreely/writefreely/archive/${LATEST_GITHUB}.tar.gz -O /tmp/writefreely.tar.gz tar xf /tmp/writefreely.tar.gz --strip-components=1 sed -i 's/nodejs-npm/npm/g' Dockerfile docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD docker buildx create --use --name A$CI_COMMIT_SHORT_SHA docker buildx build --platform $BUILD_PLATFORMS --push -t $IMAGE_TAG:$LATEST_GITHUB -t $CI_REGISTRY_IMAGE:latest -t $D_IMAGE_TAG:$LATEST_GITHUB -t $D_LATEST_TAG . else return 0 fi