push-images.sh 786 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. set -e
  3. TAG_NAME=${1:-latest}
  4. REPO_NAME="darthsim/imgproxy"
  5. IMAGE_NAME="$REPO_NAME:$TAG_NAME"
  6. echo "Image name: $IMAGE_NAME"
  7. export DOCKER_CLI_EXPERIMENTAL=enabled
  8. docker push $IMAGE_NAME-amd64
  9. docker push $IMAGE_NAME-arm64
  10. push_manifest() {
  11. docker manifest create $1 -a $2-amd64 -a $2-arm64
  12. docker manifest annotate $1 $2-amd64 --arch amd64
  13. docker manifest annotate $1 $2-arm64 --arch arm64 --variant v8
  14. docker manifest push $1
  15. }
  16. push_manifest $IMAGE_NAME $IMAGE_NAME
  17. re="^v([0-9]+)\.([0-9]+)\.([0-9]+)$"
  18. if [[ $TAG_NAME =~ $re ]]; then
  19. MINOR_IMAGE_NAME="$REPO_NAME:v${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
  20. push_manifest $MINOR_IMAGE_NAME $IMAGE_NAME
  21. MAJOR_IMAGE_NAME="$REPO_NAME:v${BASH_REMATCH[1]}"
  22. push_manifest $MAJOR_IMAGE_NAME $IMAGE_NAME
  23. fi