mirror of
https://github.com/aphrody-labs/cadcraft.git
synced 2026-10-14 03:29:06 +00:00
- release.yml: new `linux-riscv64` job (ported from GridCraft): cross-compiles on ubuntu-24.04 against ports.ubuntu.com riscv64 libraries, packages a tar.gz, smoke-tests the CLI under QEMU. The draft-release job now needs it, so SHA256SUMS covers the tarball. - packaging/linux/package.sh: CROSS_ARCH / CROSS_TARGET / CROSS_COMPILE / EMULATOR support. - README Downloads and docs/releasing.md list the riscv64 tarball. - Version 0.4.0 -> 0.5.0 (cargo xtask version set), Cargo.lock refreshed. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2.5 KiB
2.5 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. A dispatch on any other branch is a dry run: the unsigned jobs (version, Linux, Linux riscv64, Flatpak, FreeBSD, web) build, thereleaseenvironment refuses the signing jobs (macOS, Windows), and no release is drafted. - Artifacts: macOS universal
.dmg(Developer ID signed, notarized, stapled) and CLI.zip; Windows x64, x86 and arm64.msi+ portable.zip(Azure Trusted Signing); Linux x86_64 and aarch64.AppImage(+.AppImage.zsyncfor AppImageUpdate delta updates),.flatpakbundle (repackages the tarball,packaging/linux/flatpak-bundle.sh),.deb,.rpm,.tar.gz(+ the from-source Flathub manifest inpackaging/linux/flatpak/); Linux riscv64.tar.gz(cross-compiled on Ubuntu 24.04 against ports.ubuntu.com riscv64 libraries, CLI smoke-tested under QEMU); FreeBSD x86_64.tar.gz(built in a FreeBSD VM); 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. - Windows installer:
packaging/windows/cadcraft.wxs(WiX v5 +WixToolset.UI.wixext). Its wizard has a Shortcuts page: the Start Menu shortcut is always created, the desktop shortcut is opt-in (DESKTOPSHORTCUT=1for silent installs,DESKTOPSHORTCUT=0drops it on an upgrade; otherwise upgrades keep the previous choice). - 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.