Skip to content

fix(release): releases are built from a clean tree and say which file is not - #14

Merged
mbeczynski merged 3 commits into
mainfrom
fix/release-clean-tree
Oct 6, 2026
Merged

mbeczynski merged 3 commits into
mainfrom
fix/release-clean-tree

Conversation

@mbeczynski

Copy link
Copy Markdown
Contributor

Why: v1.3.0 was released marked DIRTY-TREE, and the log does not say why. Worse, the version step added in #13 wrote the computed version into mac-app/VERSION, so every later release would have been marked dirty too.

What changes:

  • build-app and make-dmg read CM_RELEASE_VERSION, which the workflow passes instead of rewriting VERSION.
  • When the tree is dirty, build-app lists the changed files, and the workflow prints git status before the build. The dry run on this PR already shows whether a runner step changes something.

Note: merging this PR will release 1.3.1 automatically, because it touches mac-app/Sources. That is also the test that the fix works.

🤖 Generated with Claude Code

mbeczynski and others added 3 commits October 6, 2026 10:04
… is not

v1.3.0 was released marked DIRTY-TREE with no clue why. And the patch
version step added in #13 wrote the computed version into mac-app/VERSION,
which would have marked every later release dirty too.

- build-app and make-dmg take the version from CM_RELEASE_VERSION when set;
  the workflow passes it instead of rewriting VERSION.
- build-app lists the uncommitted paths when the tree is dirty, and the
  workflow prints `git status` before building.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
swift-argument-parser 1.8.2 (pinned in Package.resolved) needs Swift 6. The
macos-14 runner has Swift 5.10, so it quietly resolved 1.7.2 and rewrote
Package.resolved: CI tested, and v1.3.0 shipped, a different dependency
than the repository pins - which is what the DIRTY-TREE marker was saying.

CI and releases now run on macos-15 (Swift 6), with the runner's default
Xcode, not a pinned one. A release also stops if the build changed any
tracked file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Xcode 16

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mbeczynski
mbeczynski merged commit 1394cfc into main Oct 6, 2026
4 checks passed
@mbeczynski
mbeczynski deleted the fix/release-clean-tree branch October 6, 2026 08:49
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