From 418f5168f5ef844537b273b79b06ef8e2de0a8aa Mon Sep 17 00:00:00 2001 From: maziggy Date: Tue, 28 Apr 2026 18:42:23 +0200 Subject: [PATCH] Updated docker-publish-daily-beta.sh --- docker-publish-daily-beta.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docker-publish-daily-beta.sh b/docker-publish-daily-beta.sh index 4458cc557..7d9444888 100755 --- a/docker-publish-daily-beta.sh +++ b/docker-publish-daily-beta.sh @@ -296,6 +296,18 @@ else CHANGELOG_NOTES="No changelog notes available for this release." fi + # GitHub caps release body at 125000 chars. Reserve ~2000 for the boilerplate + # header/pull-commands and truncate the changelog tail with a link to the full file. + MAX_NOTES_LEN=122000 + if [ ${#CHANGELOG_NOTES} -gt $MAX_NOTES_LEN ]; then + echo -e "${YELLOW} Changelog section is ${#CHANGELOG_NOTES} chars; truncating to ${MAX_NOTES_LEN} for GitHub release body${NC}" + CHANGELOG_NOTES="${CHANGELOG_NOTES:0:$MAX_NOTES_LEN} + +--- + +_Changelog truncated — see the full [CHANGELOG.md](https://github.com/maziggy/bambuddy/blob/main/CHANGELOG.md) for the complete list._" + fi + # Build pull commands for the release body PULL_COMMANDS="" if [ "$PUSH_GHCR" = true ]; then @@ -346,11 +358,14 @@ EOF git push origin "v${DAILY_TAG}" --force echo " Creating release v${DAILY_TAG}..." + NOTES_FILE=$(mktemp) + trap 'rm -f "$NOTES_FILE"' EXIT + printf '%s\n' "$RELEASE_BODY" > "$NOTES_FILE" gh release create "v${DAILY_TAG}" \ --title "Daily Beta Build v${DAILY_TAG}" \ --prerelease \ --generate-notes=false \ - --notes "$RELEASE_BODY" + --notes-file "$NOTES_FILE" echo -e "${GREEN} Created GitHub release: v${DAILY_TAG}${NC}" fi