forked from 1b-agent/opencadstudio-upstream
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 <noreply@anthropic.com>
35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
# Releases
|
|
|
|
The **Weekly release** workflow runs every Sunday at 12:00 UTC. GitHub may
|
|
queue the run after that time. Weeks without new commits are skipped.
|
|
|
|
The release name uses the UTC ISO week year and week, such as `2026.35`.
|
|
The workflow updates `Cargo.toml` and `Cargo.lock`, commits `Release v2026.35`
|
|
on `main`, and atomically pushes that commit and its `v2026.35` tag.
|
|
It creates release notes using the existing section format and verifies the
|
|
published title and notes.
|
|
|
|
Web and native workflows receive the same tag and commit and run independently.
|
|
Web deploys when its own build finishes; native packages are attached as they
|
|
finish. The web deployment verifies `/app/release.json`, and the native
|
|
workflow verifies all five download files. Native update notices require a
|
|
download for the installed platform.
|
|
|
|
The app shows `2026.35`, Cargo and macOS use `2026.35.0`, and MSI uses `26.35.0`.
|
|
The main window title is `Open CAD Studio 2026.35 - Drawing.dwg`.
|
|
|
|
Builds that are not a clean checkout of the release tag carry build metadata:
|
|
`2026.35+194.gef189d77` means 194 first-parent commits past `v2026.35` at
|
|
commit `ef189d77`, and `.dirty` is appended when the tree has uncommitted
|
|
changes. `build.rs` derives this from git at compile time (`OCS_FULL_VERSION`);
|
|
without a tag to count from (shallow clone, source tarball) only the hash is
|
|
shown. The full form appears in About, **Copy Info**, `REPORT`, `--version`
|
|
and recovery reports. The window title, update check and User-Agent keep the
|
|
plain `2026.35`.
|
|
|
|
To preview release notes, manually run **Weekly release** on `main` with
|
|
**publish** unchecked. Check **publish** to release immediately. Rerunning
|
|
within the same week reuses the original tag and commit. To rebuild just a
|
|
failed target, use GitHub's **Re-run failed jobs**. Manual web deployment
|
|
always uses the latest published release rather than unreleased `main`.
|