#!/usr/bin/env bash
#MISE description="Create git tags and GitHub releases when a release PR was merged"
#USAGE flag "--git-token <token>" help="GitHub token used by release-plz and gh"

set -euo pipefail

if [ -z "${usage_git_token:-}" ]; then
	echo "--git-token is required" >&2
	exit 1
fi

tmp_json="$(mktemp)"
trap 'rm -f "${tmp_json}"' EXIT

release-plz release --git-token "${usage_git_token}" --forge github -o json >"${tmp_json}"

jq -e '.releases and (.releases | type == "array")' "${tmp_json}" >/dev/null

if ! jq -e '.releases | length > 0' "${tmp_json}" >/dev/null; then
	echo "No releases created."
	exit 0
fi

export GH_TOKEN="${usage_git_token}"

tag="$(jq -r '.releases[0].tag' "${tmp_json}")"

gh workflow run release.yml -f "tag=${tag}"
