Automate the full hoverfly release process — version bump, GitHub release, wait for CI, trigger Homebrew update.
Release version: $ARGUMENTS
grep 'hoverfly.version' core/hoverfly.go | grep -o 'v[0-9]*\.[0-9]*\.[0-9]*'git branch --show-currentgit status --porcelain | wc -l | xargsExecute the following phases in order. Confirm with the user before moving to each phase. Stop immediately if any step fails.
$ARGUMENTS matches the pattern vX.Y.Z (e.g. v1.13.0). If not, stop and ask the user for a valid version.git status --porcelain is empty) and the current branch is master. If not, stop and tell the user.make update-version VERSION=$ARGUMENTSgit push origin masterTell the user the version commit has been pushed and that a CircleCI build has been triggered (no need to wait for it).
gh release create $ARGUMENTS --generate-notes --target master
deploy-release job, which will build cross-platform binaries and Docker images. This typically takes 20+ minutes.Poll once per minute until all 7 expected zip bundles appear in the release assets. The expected files are:
hoverfly_bundle_OSX_amd64.ziphoverfly_bundle_OSX_arm64.ziphoverfly_bundle_windows_amd64.ziphoverfly_bundle_windows_386.ziphoverfly_bundle_linux_amd64.ziphoverfly_bundle_linux_386.ziphoverfly_bundle_linux_arm64.zipTo check, run:
gh release view $ARGUMENTS --json assets --jq '.assets[].name'
Each poll iteration:
Once all 7 assets are confirmed:
gh workflow run homebrew-bump-formula.yml -f version=$ARGUMENTS
SpectoLabs/homebrew-tap.Summarize what was completed:
$ARGUMENTSSpectoLabs/homebrew-tap