From 61503b7b17bfb33ec9ec419734be1867aaab8a6a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 22 Feb 2021 14:38:37 -0500 Subject: [PATCH] feat: bump azure ARM quickstart template on release This ensures Azure ARM template users always get the latest and greatest as the Dokku project evolves over time. --- .github/commands/bump-azure | 51 ++++++++++++++++++++++++++++++++ .github/workflows/bump-azure.yml | 26 ++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100755 .github/commands/bump-azure create mode 100644 .github/workflows/bump-azure.yml diff --git a/.github/commands/bump-azure b/.github/commands/bump-azure new file mode 100755 index 000000000..087873f17 --- /dev/null +++ b/.github/commands/bump-azure @@ -0,0 +1,51 @@ +#!/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" + tar xzf gh.tar.gz -C tmp + mkdir -p 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"' dokku-vm/metadata.json)" + echo "${contents}" >dokku-vm/metadata.json + contents="$(jq --arg DATE_UPDATED "$DATE_UPDATED" '.dateUpdated = $DATE_UPDATED' dokku-vm/metadata.json)" + echo "${contents}" >dokku-vm/metadata.json + + contents="$(jq --arg VERSION "$VERSION" '.parameters.dokkuVersion.defaultValue = $VERSION' dokku-vm/azuredeploy.json)" + echo "${contents}" >dokku-vm/azuredeploy.json + + echo "=====> Updating remote repository" + git add 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 0.23.7' --body '' + + popd >/dev/null +} + +main "$@" diff --git a/.github/workflows/bump-azure.yml b/.github/workflows/bump-azure.yml new file mode 100644 index 000000000..bdbcb209c --- /dev/null +++ b/.github/workflows/bump-azure.yml @@ -0,0 +1,26 @@ +--- +name: bump-azure + +# yamllint disable-line rule:truthy +on: + push: + tags: + - '*' +jobs: + bump-azure: + runs-on: macos-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Get version + id: get_version + run: echo ::set-output name=version::${GITHUB_REF/refs\/tags\//} + - name: Bump Azure Template + env: + BOT_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }} + BOT_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} + run: | + VERSION=${{ steps.get_version.outputs.version }} + git config --global user.name 'Dokku Bot' + git config --global user.email no-reply@dokku.com + .github/commands/bump-azure "${VERSION:1}" "$BOT_GITHUB_USERNAME" "$BOT_GITHUB_API_TOKEN"