BlueGit

golden-age paperdoll-renderer

release.sh: send the full tag commit (required by the existing-tag route; tag pipeline #582 failed with 'commit is missing')

timfa Grok Bot · pushed by timfa

Authored 2026-11-07 · 6 days ago

Hash
18133aa927a18251e330074a0fb5fd3f3abd888d
Parent
15ebcf35
2 files changed +7 −1
scripts/ci/release.sh +2 −1
@@ -22,7 +22,8 @@ asset() { printf '{"job":"%s","path":"%s","name":"%s"}' "$1" "$2" "$3"; }
22 22 assets="$(asset package:appimage dist/paperdoll-renderer-x86_64.AppImage "${b}-x86_64.AppImage"),$(asset package:ubuntu dist/paperdoll-renderer_amd64.deb "${b}-amd64.deb"),$(asset package:arch dist/paperdoll-renderer-x86_64.pkg.tar.zst "${b}-x86_64.pkg.tar.zst"),$(asset package:windows dist/paperdoll-renderer-windows-x86_64.zip "${b}-windows-x86_64.zip"),$(asset verify:packages dist/SHA256SUMS "${b}-SHA256SUMS.txt")"
23 23 # JSON-escaped already (\n, no double quotes inside).
24 24 desc="Paperdoll Renderer ${version}.\n\n* Linux AppImage (portable).\n* Debian/Ubuntu .deb: /usr/bin/paperdoll-renderer, desktop entry, icons, .ppd MIME type.\n* Arch .pkg.tar.zst, built from packaging/arch/PKGBUILD. AUR: paperdoll-renderer-bin.\n* Windows zip (x86_64, MinGW build).\n* SHA256SUMS of the package files.\n\nThe default starter bodies are Animated walking Male Base Mesh and Animated Female Base Mesh by assetfactory (Sketchfab Standard licence); see THIRD_PARTY_NOTICES.md."
25 body="$(printf '{"name":"Paperdoll Renderer %s","body":"%s","assets":[%s]}' "$tag" "$desc" "$assets")"
25 # commit is required and must equal the tag's commit and this job's commit.
26 body="$(printf '{"commit":"%s","name":"Paperdoll Renderer %s","body":"%s","assets":[%s]}' "$CI_COMMIT_SHA" "$tag" "$desc" "$assets")"
26 27
27 28 echo "Release $tag on $CI_COMMIT_SHA (existing tag, create-only)"
28 29 resp="$(mktemp)"
@@ -22,7 +22,8 @@ asset() { printf '{"job":"%s","path":"%s","name":"%s"}' "$1" "$2" "$3"; }
22assets="$(asset package:appimage dist/paperdoll-renderer-x86_64.AppImage "${b}-x86_64.AppImage"),$(asset package:ubuntu dist/paperdoll-renderer_amd64.deb "${b}-amd64.deb"),$(asset package:arch dist/paperdoll-renderer-x86_64.pkg.tar.zst "${b}-x86_64.pkg.tar.zst"),$(asset package:windows dist/paperdoll-renderer-windows-x86_64.zip "${b}-windows-x86_64.zip"),$(asset verify:packages dist/SHA256SUMS "${b}-SHA256SUMS.txt")"
22assets="$(asset package:appimage dist/paperdoll-renderer-x86_64.AppImage "${b}-x86_64.AppImage"),$(asset package:ubuntu dist/paperdoll-renderer_amd64.deb "${b}-amd64.deb"),$(asset package:arch dist/paperdoll-renderer-x86_64.pkg.tar.zst "${b}-x86_64.pkg.tar.zst"),$(asset package:windows dist/paperdoll-renderer-windows-x86_64.zip "${b}-windows-x86_64.zip"),$(asset verify:packages dist/SHA256SUMS "${b}-SHA256SUMS.txt")"
23# JSON-escaped already (\n, no double quotes inside).
23# JSON-escaped already (\n, no double quotes inside).
24desc="Paperdoll Renderer ${version}.\n\n* Linux AppImage (portable).\n* Debian/Ubuntu .deb: /usr/bin/paperdoll-renderer, desktop entry, icons, .ppd MIME type.\n* Arch .pkg.tar.zst, built from packaging/arch/PKGBUILD. AUR: paperdoll-renderer-bin.\n* Windows zip (x86_64, MinGW build).\n* SHA256SUMS of the package files.\n\nThe default starter bodies are Animated walking Male Base Mesh and Animated Female Base Mesh by assetfactory (Sketchfab Standard licence); see THIRD_PARTY_NOTICES.md."
24desc="Paperdoll Renderer ${version}.\n\n* Linux AppImage (portable).\n* Debian/Ubuntu .deb: /usr/bin/paperdoll-renderer, desktop entry, icons, .ppd MIME type.\n* Arch .pkg.tar.zst, built from packaging/arch/PKGBUILD. AUR: paperdoll-renderer-bin.\n* Windows zip (x86_64, MinGW build).\n* SHA256SUMS of the package files.\n\nThe default starter bodies are Animated walking Male Base Mesh and Animated Female Base Mesh by assetfactory (Sketchfab Standard licence); see THIRD_PARTY_NOTICES.md."
25body="$(printf '{"name":"Paperdoll Renderer %s","body":"%s","assets":[%s]}' "$tag" "$desc" "$assets")"
25# commit is required and must equal the tag's commit and this job's commit.
26body="$(printf '{"commit":"%s","name":"Paperdoll Renderer %s","body":"%s","assets":[%s]}' "$CI_COMMIT_SHA" "$tag" "$desc" "$assets")"
26
27
27echo "Release $tag on $CI_COMMIT_SHA (existing tag, create-only)"
28echo "Release $tag on $CI_COMMIT_SHA (existing tag, create-only)"
28resp="$(mktemp)"
29resp="$(mktemp)"
tests/release_publish.rs +5 −0
@@ -83,6 +83,11 @@ fn tag_publish_uses_only_the_existing_tag_route_without_replace() {
83 83 "{calls}"
84 84 );
85 85 assert!(!calls.contains("replace"), "{calls}");
86 // BlueGit requires the full tag commit (pipeline #582 failed without it).
87 assert!(
88 calls.contains("\"commit\":\"0123456789abcdef0123456789abcdef01234567\""),
89 "{calls}"
90 );
86 91 assert!(!calls.contains("\"tag\""), "{calls}");
87 92 for name in [
88 93 "paperdoll-renderer-v0.1.0-x86_64.AppImage",
@@ -83,6 +83,11 @@ fn tag_publish_uses_only_the_existing_tag_route_without_replace() {
83 "{calls}"
83 "{calls}"
84 );
84 );
85 assert!(!calls.contains("replace"), "{calls}");
85 assert!(!calls.contains("replace"), "{calls}");
86 // BlueGit requires the full tag commit (pipeline #582 failed without it).
87 assert!(
88 calls.contains("\"commit\":\"0123456789abcdef0123456789abcdef01234567\""),
89 "{calls}"
90 );
86 assert!(!calls.contains("\"tag\""), "{calls}");
91 assert!(!calls.contains("\"tag\""), "{calls}");
87 for name in [
92 for name in [
88 "paperdoll-renderer-v0.1.0-x86_64.AppImage",
93 "paperdoll-renderer-v0.1.0-x86_64.AppImage",