Files
OneCAD-Draft/docs/releases.md
T
PanosandClaude Opus 5 5f161bb037 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 <noreply@anthropic.com>
2026-09-12 16:19:40 +03:00

1.9 KiB

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.