Skip to content

Carry the test target at the app's version too - #58

Merged
temoki merged 1 commit into
mainfrom
release/version-check
Aug 25, 2026
Merged

Carry the test target at the app's version too#58
temoki merged 1 commit into
mainfrom
release/version-check

Conversation

@temoki

@temoki temoki commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Found while checking what a v1.1.0 tag would do now that the Xcode Cloud action and the App Store Connect version record are in place.

release-tag.yml greps every MARKETING_VERSION in project.pbxproj and requires one distinct value. The UI test target arrived with Xcode's default:

$ grep -oE 'MARKETING_VERSION = [^;]+;' … | sort -u
1.0        ← TortoiseBlocksUITests (Debug and Release)
1.1.0      ← app and extension

So the tag would have opened with MARKETING_VERSION is not the same everywhere: 1.0 1.1.0. It would not have blocked the release — Xcode Cloud is already archiving by the time that workflow runs — which is the worse shape: a red check on the release tag, for a bundle nobody installs.

Carried rather than exempted. The check's value is that it knows nothing about targets; teaching a grep which ones to believe costs more than one line per bump. The release skill now says so, since it previously said "all four configurations" and there are six.

Verified: xcodebuild -target TortoiseBlocksUITests -showBuildSettings resolves MARKETING_VERSION = 1.1.0, and the simulated check now yields a single value.

release-tag.yml requires one distinct MARKETING_VERSION across the whole
project file, so the UI test target arriving at Xcode's default 1.0 was
enough to open the next release with "MARKETING_VERSION is not the same
everywhere: 1.0 1.1.0". It would not have stopped anything — Xcode Cloud
is already archiving by the time that runs — which is the bad kind of
failure: a red check on the release tag, for a bundle nobody installs,
found while looking at something else.

Carried rather than exempted. The check is a grep over every configuration
in the file, and its value is that it needs to know nothing about targets;
teaching it which ones to believe costs more than one line per bump.
@temoki
temoki merged commit ca35025 into main Aug 25, 2026
7 checks passed
@temoki
temoki deleted the release/version-check branch August 25, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant