Files
wordcraft/docs/releasing.md
T
Brandon ThomasandClaude Opus 5.5 e4b7d155f1 Bump version to 0.5.0; add Linux riscv64 release build (#394)
- release.yml: new `linux-riscv64` job ported from GridCraft. Cross-compiles
  wordcraft and wordcraft-cli on ubuntu-24.04 with riscv64 libs from
  ports.ubuntu.com (riscv64 variants of the Linux job's -dev packages),
  packages a tar.gz, and smoke-tests the CLI under QEMU. The draft-release
  job needs it, so its tar.gz is uploaded and covered by SHA256SUMS.
- packaging/linux/package.sh: CROSS_ARCH/CROSS_TARGET/CROSS_COMPILE/EMULATOR
  support (as in GridCraft).
- README and docs/releasing.md list the riscv64 tarball.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:41:30 -04:00

2.0 KiB

Releasing WordCraft

The canonical recipe is craftrules release/playbook.md; this file has the WordCraft specifics.

  1. Bump the version on main: cargo xtask version set 0.2.0 (the one source of truth is [workspace.package] version; the app shows it in --version and About, with the commit from WORDCRAFT_BUILD_SHA).
  2. Merge main into release and push. .github/workflows/release.yml builds:
Platform Artifacts Signing
macOS universal WordCraft.app in a .dmg, universal CLI zip Developer ID + notarization (APPLE_* secrets)
Windows x64, x86 and arm64 .msi + portable .zip Azure Trusted Signing (AZURE_* secrets)
Linux x86_64 and aarch64 .AppImage (+ .zsync for AppImageUpdate), .flatpak bundle, .deb, .rpm, .tar.gz; Flathub manifest checksums
Linux riscv64 .tar.gz (cross-compiled on ubuntu-24.04, glibc >= 2.39; CLI smoke-tested under QEMU) checksums
FreeBSD x86_64 .tar.gz checksums
Web wordcraft-web-<version>.zip (static site: index.html, wasm, glue) none
  1. The run drafts a GitHub Release WordCraft v<version> with SHA256SUMS.txt; review and publish it.

Signing secrets live in the repository's release environment (deployment branch: release only), synced from the release manager's machine (craftrules/release/signing-setup.md). Missing secrets produce unsigned builds with a warning, so forks still build.

Local packaging: packaging/macos/package.sh --arch universal, packaging/windows/package.ps1, packaging/linux/package.sh (then packaging/linux/flatpak-bundle.sh for the Flatpak), packaging/web/package.sh.

Dry run: gh workflow run release.yml --ref <branch> builds the unsigned jobs (version, Linux, Linux riscv64, Flatpak, FreeBSD, web) on any branch; the signing jobs are refused there by the release environment's branch rule, so no draft release is made.