Give the MSIX its own numeric version - #5
Merged
Merged
Conversation
Every pull request has been failing the Windows job at makeappx, and never for a reason to do with the change under review: error C00CE169: The attribute 'Version' with value '1.0.0-pr4.0' failed to parse -- violates pattern constraint The manifest was built from the DISPLAY version, which is only ever clean on a tag. On anything else it carries a suffix -- "1.0.0-pr4" for a PR, "1.0.0-dev" locally -- and the MSIX schema admits four dot-separated integers and nothing else. A tagged release packed fine, so this stayed invisible until PRs started building Windows. MSIX_VERSION is now derived rather than borrowed: the project's numeric version with any pre-release suffix stripped, then the commit count. The commit count is there for the same reason CFBundleVersion uses it, and the reasoning is already written down in CMakeLists -- Windows compares these numbers to decide what counts as an upgrade, and two builds of 1.0.0 that both claimed 1.0.0.0 would be indistinguishable to it. Checked against the schema's own regex, which also turned up a case that had not bitten yet: a pre-release TAG like v1.1.0-beta.2 would have failed to pack in exactly the same way. The substitution step now fails if any placeholder survives it, since the previous failure was one substitution producing something invalid rather than not happening at all. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every pull request has been failing the Windows job at
makeappx, and never for a reason to do with the change under review:The manifest was built from the display version, which is only ever clean on a tag. On anything else it carries a suffix (
1.0.0-pr4on a PR,1.0.0-devlocally) and the MSIX schema admits four dot-separated integers and nothing else. A tagged release packs fine, which is why v1.0.0 shipped and this stayed invisible.MSIX_VERSIONis now derived rather than borrowed: the numeric project version with any pre-release suffix stripped, then the commit count. The commit count is there for the same reasonCFBundleVersionuses it — Windows compares these to decide what counts as an upgrade, and two builds of 1.0.0 that both said1.0.0.0would be indistinguishable to it.Checked against the schema's own regex:
v1.0.01.0.0-pr4.0v1.1.0-beta.21.1.0-beta.2.0v2.10.3