diff --git a/apps/macos/Scripts/manual-release-evidence-template.sh b/apps/macos/Scripts/manual-release-evidence-template.sh index 5aada34..a127fdd 100755 --- a/apps/macos/Scripts/manual-release-evidence-template.sh +++ b/apps/macos/Scripts/manual-release-evidence-template.sh @@ -47,6 +47,12 @@ if [[ ! -f "$DMG_PATH" ]]; then exit 1 fi +if [[ -z "$RELEASE_TAG" ]]; then + echo "ERROR: RELEASE_TAG is required for artifact-bound manual release evidence" >&2 + echo "Run: make manual-release-evidence-template RELEASE_TAG=\"v\"" >&2 + exit 2 +fi + DMG_FILENAME="$(basename "$DMG_PATH")" DMG_SHA256="$(shasum -a 256 "$DMG_PATH" | awk '{print $1}')" MOUNT_DIR="" diff --git a/apps/macos/Tests/PointerDesignerTests/IdentityTests.swift b/apps/macos/Tests/PointerDesignerTests/IdentityTests.swift index 7952e46..8ab6e50 100644 --- a/apps/macos/Tests/PointerDesignerTests/IdentityTests.swift +++ b/apps/macos/Tests/PointerDesignerTests/IdentityTests.swift @@ -809,6 +809,9 @@ final class IdentityTests: XCTestCase { XCTAssertTrue(checker.contains("Blocker disposition must be None")) XCTAssertTrue(makefile.contains("manual-release-evidence-template:")) XCTAssertTrue(template.contains("Release tag:")) + XCTAssertTrue(template.contains("ERROR: RELEASE_TAG is required for artifact-bound manual release evidence")) + XCTAssertTrue(template.contains("make manual-release-evidence-template RELEASE_TAG=")) + XCTAssertTrue(template.contains("v")) XCTAssertTrue(template.contains("Commit:")) XCTAssertTrue(template.contains("DMG SHA-256:")) XCTAssertTrue(template.contains("App bundle ID:"))