forked from 1b-agent/opencadstudio-upstream
Show the exact build in About, Copy Info, REPORT and --version
Builds from main reported only the release version (2026.36) even when HEAD was hundreds of commits past the tag. build.rs now also emits OCS_TAG_DISTANCE, OCS_COMMIT_DATE, OCS_BUILD_METADATA and OCS_FULL_VERSION: a clean checkout of the release tag stays "2026.36", anything else becomes "2026.36+194.gef189d77", with ".dirty" appended for uncommitted changes and only the hash when no tag can be counted from (shallow clone, tarball). OCS_APP_VERSION is unchanged so the update check, donation gate, User-Agents and window title keep working. The About dialog gains Build / Commit date / Profile cards, Copy Info, the REPORT issue template and recovery reports carry the full version, and `-V`/`--version` print it instead of Cargo's 2026.36.0. Release workflows check out full history so release binaries see the tag. Also fixes the build being marked dirty when there is no repository: diff-index exits 128 there, not 1. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
58c9fcb748
commit
5f161bb037
31 files changed
+204
-18
No files matched your search
@@ -53,6 +53,9 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ steps.source.outputs.commit }}
|
||||
# Full history so build.rs can measure the distance from the
|
||||
# release tag; a shallow clone would label the build `+g<hash>`.
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Validate release version
|
||||
env:
|
||||
|
||||
@@ -39,6 +39,9 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.commit || github.sha }}
|
||||
# Full history so build.rs can measure the distance from the
|
||||
# release tag; a shallow clone would label the build `+g<hash>`.
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Validate package versions
|
||||
id: version
|
||||
@@ -127,6 +130,9 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.commit || github.sha }}
|
||||
# Full history so build.rs can measure the distance from the
|
||||
# release tag; a shallow clone would label the build `+g<hash>`.
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Validate package versions
|
||||
id: version
|
||||
@@ -194,6 +200,9 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.commit || github.sha }}
|
||||
# Full history so build.rs can measure the distance from the
|
||||
# release tag; a shallow clone would label the build `+g<hash>`.
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Validate package versions
|
||||
id: version
|
||||
@@ -315,6 +324,9 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.commit || github.sha }}
|
||||
# Full history so build.rs can measure the distance from the
|
||||
# release tag; a shallow clone would label the build `+g<hash>`.
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Validate package versions
|
||||
id: version
|
||||
|
||||
Reference in new issue
Block a user