diff --git a/.claude/skills/release/SKILL.md b/.claude/skills/release/SKILL.md index 14c574a..ab6e45a 100644 --- a/.claude/skills/release/SKILL.md +++ b/.claude/skills/release/SKILL.md @@ -231,7 +231,14 @@ iOS to notice if you don't. What *is* unlinked is the tag and the version it ships: nothing makes `v0.2.0` and `MARKETING_VERSION` agree, and a mismatch uploads the old version silently. `release-tag.yml` compares them (and catches app/extension -drift, since it requires one distinct value across all four configurations). +drift, since it requires one distinct value across every configuration in the +project). **That is every configuration, including targets that ship +nothing**: adding the UI test target put a fifth and sixth `MARKETING_VERSION` +in the file at Xcode's default `1.0`, and the next tag would have opened with +`MARKETING_VERSION is not the same everywhere` — a red check on the release, +for a test bundle nobody installs. It is carried at the app's version rather +than exempted, because the alternative is teaching a `grep` which targets to +believe. It cannot block the release — Xcode Cloud is already archiving — it only makes the mistake loud while there is still a build to cancel. A suffix after `-` is stripped before comparing: a marketing version is dotted numbers, a diff --git a/TortoiseBlocks.xcodeproj/project.pbxproj b/TortoiseBlocks.xcodeproj/project.pbxproj index 4602a85..46167e1 100644 --- a/TortoiseBlocks.xcodeproj/project.pbxproj +++ b/TortoiseBlocks.xcodeproj/project.pbxproj @@ -350,7 +350,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.5; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1.0; PRODUCT_BUNDLE_IDENTIFIER = space.hiraku.tortoiseblocks.uitests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; @@ -381,7 +381,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.5; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1.0; PRODUCT_BUNDLE_IDENTIFIER = space.hiraku.tortoiseblocks.uitests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto;