#!/bin/bash set -euo pipefail SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" image="amazon/amazon-ec2-instance-selector" if git --no-pager diff --name-only HEAD^ HEAD | grep 'README.md'; then token=$(curl -s -X POST \ -H "Content-Type: application/json" \ -d '{"username": "'"${DOCKERHUB_USERNAME}"'", "password": "'"${DOCKERHUB_PASSWORD}"'"}' \ https://hub.docker.com/v2/users/login/ | jq -r .token) rcode=$(jq -n --arg msg "$(<$SCRIPTPATH/../README.md)" \ '{"registry":"registry-1.docker.io","full_description": $msg }' | curl -s -o /dev/stderr -L -w "%{http_code}" \ https://hub.docker.com/v2/repositories/"${image}"/ \ -d @- \ -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: JWT ${token}") if [[ $rcode -ge 200 && $rcode -lt 300 ]]; then echo "README sync to dockerhub completed successfully" else echo "README sync to dockerhub failed" exit 1 fi else echo "README.md did not change in the last commit. Not taking any action." fi