From 064b68784308c70443fa72e83c5d09505fe0ad49 Mon Sep 17 00:00:00 2001 From: rogu3bear Date: Tue, 12 May 2026 09:57:54 -0500 Subject: [PATCH] proof(pointer): require release tag for manual evidence template --- apps/macos/Scripts/manual-release-evidence-template.sh | 6 ++++++ apps/macos/Tests/PointerDesignerTests/IdentityTests.swift | 3 +++ 2 files changed, 9 insertions(+) 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:"))