diff --git a/taskcluster/docker/skopeo/push_image_gar.sh b/taskcluster/docker/skopeo/push_image_gar.sh new file mode 100755 index 000000000..6d6696a32 --- /dev/null +++ b/taskcluster/docker/skopeo/push_image_gar.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +set -e +# Set pipefail so curl failures are caught before the pipe to jq +set -o pipefail # This will fail on sh / only works on bash + +test $APP +test $DOCKER_TAG +test $DOCKER_REPO +test $MOZ_FETCHES_DIR +test $TASKCLUSTER_ROOT_URL +test $TASK_ID +test $VCS_HEAD_REPOSITORY +test $VCS_HEAD_REV + +echo "=== Generating dockercfg ===" +PASSWORD_URL=http://taskcluster/secrets/v1/secret/project/releng/scriptworker-scripts/deploy +mkdir -m 700 $HOME/.docker +# curl --fail forces curl to return a non-zero exit code if the response isn't HTTP 200 (i.e.: HTTP 403 Unauthorized) +curl --fail -v $PASSWORD_URL | jq '.secret.gar.dockercfg' > $HOME/.docker/config.json +chmod 600 $HOME/.docker/config.json + +cd $MOZ_FETCHES_DIR +unzstd image.tar.zst + +echo "=== Inserting version.json into image ===" +# Create an OCI copy of image in order umoci can patch it +skopeo copy docker-archive:image.tar oci:${APP}:final + +cat > version.json <