mirror of
https://github.com/storytold/cadcraft.git
synced 2026-10-24 10:56:51 -06:00
Workflows and packaging adapted from the craftrules playbook (release environment with the twelve signing secrets, new WiX upgrade code, .dxf/.dwg file associations), app icon set (hicolor, icns, ico), docs/releasing.md. MTEXT now opens a text editor window for its contents. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Releasing CADCraft
The canonical recipe is craftrules' release/playbook.md; this file covers only what's CADCraft-specific.
- Version:
[workspace.package] versionin the rootCargo.tomlis the single source.cargo xtask versionprints it;cargo xtask version set X.Y.Z[-pre]changes it. The app shows it in About,cadcraft --versionandcadcraft-cli --version; release builds also embed the commit (CADCRAFT_BUILD_SHA). - Cut a release: bump the version on
main, then pushmaintorelease(git push origin main:release). Every push toreleaseruns.github/workflows/release.ymland creates or updates the draft GitHub ReleaseCADCraft v<version>. Aworkflow_dispatchrun withversion: X.Y.Z-rc.Nmakes a test build. - Artifacts: macOS universal
.dmg(Developer ID signed, notarized, stapled) and CLI.zip; Windows x64 and x86.msi+ portable.zip(Azure Trusted Signing); Linux x86_64.AppImage,.deb,.rpm,.tar.gz(+ Flatpak manifest inpackaging/linux/flatpak/); FreeBSD build check (freebsd.yml); web.zip(wasm +index.html, seepackaging/web/README.md);SHA256SUMS.txt. - Secrets: the twelve signing secrets live in the
releaseenvironment (deployable only from thereleasebranch, which only org admins and release-managers can push). All are optional: a missing one produces unsigned artifacts with a warning. - File types:
.dxfand.dwg(macOS document types, Windows "Open with", Linux MIME types). - Local packaging test:
packaging/macos/package.sh(ad-hoc signed DMG),packaging/linux/package.sh,packaging/web/package.sh.