Repository navigation
Add Git-derived versions and release workflows - #23
Merged
Merged
Conversation
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.
Derive
CFBundleShortVersionStringfrom the nearest stableX.Y.ZGit tag andCFBundleVersionfrom the commits since that tag. Stamp bundle metadata on every build so changing commits or tags does not require reconfiguring CMake. CI checks out full history and explicitly runsgit fetch --tags --forcebefore configuring, matching the fcitx5-macos workaround.Package
SimStore.app.tar.bz2andrelease.jsonbefore tests and upload both as individual artifacts. Main builds update theNightly buildprerelease; stable tag builds create drafts. Publishing a stable release refresheslatest/version.json, preserving historical minimum macOS versions for the future in-app updater. Publication is serialized, refuses overwriting published stable assets, and prevents older nightlies from replacing newer builds. Release descriptions retain the Terminal installation command.Document the release process in
docs/release.md. The in-app update UI and installation helper belong in the next PR.Validation:
0.1.0 (1)without reconfiguring.release.json.concurrency.queueoption that its current release does not recognize.