#!/usr/bin/env bash set -eo pipefail main() { declare VERSION="$1" BOT_GITHUB_USERNAME="$2" BOT_GITHUB_API_TOKEN="$3" local GH_VERSION=1.6.1 local DATE_UPDATED="$(date +"%Y-%m-%d")" local GH_FOLDER="gh_${GH_VERSION}_linux_amd64" echo "=====> Downloading gh" wget -O gh.tar.gz "https://github.com/cli/cli/releases/download/v${GH_VERSION}/${GH_FOLDER}.tar.gz" mkdir -p tmp tar xzf gh.tar.gz -C tmp if [[ ! -f tmp/$GH_FOLDER/bin/gh ]]; then echo "Failed to extract gh" return 1 fi cd tmp $GH_FOLDER/bin/gh auth login --with-token <<<"$BOT_GITHUB_API_TOKEN" echo "=====> Cloning quickstart templates" rm -rf azure-quickstart-templates >/dev/null git clone https://github.com/Azure/azure-quickstart-templates.git azure-quickstart-templates pushd azure-quickstart-templates >/dev/null echo "=====> Updating values" contents="$(jq '.githubUsername = "dokku"' application-workloads/dokku/dokku-vm/metadata.json)" echo "${contents}" >application-workloads/dokku/dokku-vm/metadata.json contents="$(jq --arg DATE_UPDATED "$DATE_UPDATED" '.dateUpdated = $DATE_UPDATED' application-workloads/dokku/dokku-vm/metadata.json)" echo "${contents}" >application-workloads/dokku/dokku-vm/metadata.json contents="$(jq --arg VERSION "$VERSION" '.parameters.dokkuVersion.defaultValue = $VERSION' application-workloads/dokku/dokku-vm/azuredeploy.json)" echo "${contents}" >application-workloads/dokku/dokku-vm/azuredeploy.json echo "=====> Updating remote repository" git add application-workloads/dokku/dokku-vm git checkout -b dokku-$VERSION git commit -m "Update dokku-vm dokku version to $VERSION" git remote set-url origin "https://$BOT_GITHUB_USERNAME:$BOT_GITHUB_API_TOKEN@github.com/dokku/azure-quickstart-templates.git" git push -f origin dokku-$VERSION echo "=====> Creating upstream pull request" ../$GH_FOLDER/bin/gh pr create --head dokku:dokku-$VERSION --repo Azure/azure-quickstart-templates --title "Update dokku-vm dokku version to $VERSION" --body '' popd &>/dev/null } main "$@"