From 8b1d85295f665ed9fb334bb829377c4ccfcfe844 Mon Sep 17 00:00:00 2001 From: John Matthew Tennant Date: Thu, 29 Oct 2026 22:32:14 -0400 Subject: [PATCH] feat(release): state the goose backend in release notes Packagers who build Berd against a goose release can't tell from a release whether one will work, since the backend pin is a commit. Add a generated line naming the pinned goose release, or the repository and commit with a note that it is not a goose release. Co-authored-by: Martha <73923046810b68ae182000e74ef7c444383a907df20f81f2ba1008870a6f45a1@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 Signed-off-by: John Matthew Tennant --- scripts/generate-release-notes.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/scripts/generate-release-notes.sh b/scripts/generate-release-notes.sh index 588940c0a..31a46df3d 100755 --- a/scripts/generate-release-notes.sh +++ b/scripts/generate-release-notes.sh @@ -75,6 +75,24 @@ if [[ -z "$NOTES" || "$NOTES" == "null" ]]; then exit 1 fi +# State the goose backend this release was built with, so packagers know +# whether a goose release can run it. +GOOSE_LOCK="$(git -C "$REPO_ROOT" show "${TO_REF}:goose-backend.lock.json")" +GOOSE_REPO="$(jq -er .repo <<<"$GOOSE_LOCK")" +GOOSE_REF="$(jq -er .ref <<<"$GOOSE_LOCK")" +GOOSE_COMMIT="$(jq -er .commit <<<"$GOOSE_LOCK")" +GOOSE_LINK="[\`${GOOSE_COMMIT:0:9}\`](${GOOSE_REPO%.git}/commit/${GOOSE_COMMIT})" +GOOSE_SOURCE="${GOOSE_REPO#https://github.com/}" +GOOSE_SOURCE="${GOOSE_SOURCE%.git}" +if [[ "$GOOSE_SOURCE" == "aaif-goose/goose" && "$GOOSE_REF" == v* ]]; then + GOOSE="goose release \`${GOOSE_REF}\`" +else + GOOSE="${GOOSE_SOURCE} commit ${GOOSE_LINK}, which is not a goose release" +fi +NOTES="${NOTES} + +**goose**: built with ${GOOSE}." + # Append the GitHub compare link. Resolve symbolic refs like HEAD to a sha so # the link stays stable. COMPARE_TO="$TO_REF"