Publish desktop releases for Windows x64/arm64 with checksums#197
Merged
ScottMorris merged 6 commits intomainfrom Feb 12, 2026
Merged
Publish desktop releases for Windows x64/arm64 with checksums#197ScottMorris merged 6 commits intomainfrom
ScottMorris merged 6 commits intomainfrom
Conversation
## Summary - split desktop publishing into dedicated Linux and Windows jobs - add matrix builds for and - keep existing Linux release flow unchanged, including the portable AppImage flag ## Why - Windows release artefacts must be produced on Windows runners for reliable MSI/NSIS packaging - a separate Windows job avoids Linux container constraints and keeps platform responsibilities clear - targeting both x64 and arm64 aligns with native Windows-on-Arm support goals ## Behaviour Changes - now attaches Windows artefacts to the same GitHub release as Linux artefacts - manual release runs default to draft mode () - tag-triggered releases also stay draft unless explicitly promoted later ## Release Metadata Improvements - release creation now enables GitHub-generated release notes for first-pass changelog quality ## Notes - kept existing tag validation and release re-use logic to minimise migration risk
## Summary - set `workflow_dispatch` input `release_draft` default to `false` - set tag-triggered release default to non-draft while preserving manual draft override wiring ## Why - release policy is full publish by default - still retain manual control to force a draft when needed ## Behaviour - push tags matching `desktop-v*` now create or update published releases by default - manual runs can still set `release_draft: true` for historical/manual review flows
## Summary - update desktop release documentation to include Windows x64 and arm64 CI targets - document default published-release behaviour with optional manual draft override - add unsigned Windows installer guidance and PowerShell checksum verification steps - update CI limitation notes to reflect current platform coverage ## Why - release docs must match the behaviour implemented in the desktop publish workflow - unsigned Windows installers require explicit user guidance and integrity verification instructions - clear release expectations reduce triage overhead during each tag cut ## Notes - checksum examples use PowerShell to match the Windows runner/tooling path used in CI - documentation keeps macOS and code-signing status explicit for future milestones
## Summary - add a dedicated Windows installation section to the project README - document SmartScreen flow for unsigned installers - include SHA256 verification guidance using release checksum assets ## Why - Windows users need a clear install path when code signing is not enabled - checksum verification provides a simple integrity check for downloaded artefacts - keeping this in README improves discoverability compared with release docs alone ## Notes - command examples use PowerShell to match Windows defaults and CI checksum tooling
## Summary - quote the `RELEASE_DRAFT` GitHub expression in workflow env configuration ## Why - unquoted ternary expressions with `:` break strict YAML parsers - quoting keeps GitHub Actions expression evaluation intact while restoring YAML validity ## Impact - no release-policy change - workflow remains publish-by-default with manual `release_draft` override preserved
## Summary - add `.github/release.yml` to shape GitHub auto-generated release-note sections - document the category config location in the desktop release guide ## Why - generated release notes are now enabled in CI, so category structure should be intentional - this gives immediate release-note quality improvements without introducing a full release-management system ## Behaviour - release notes are grouped into Features, Fixes, Documentation, CI and Build, and Other Changes - maintainers can tune categories later by updating `.github/release.yml` ## Scope - no versioning automation or semantic release flow added in this change - remains compatible with the existing tag-driven desktop release process
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
windows-latestfor:x86_64-pc-windows-msvcaarch64-pc-windows-msvcGet-FileHash.github/release.ymlrelease_draftwiring, but default desktop releases to published (release_draft: false)Documentation
docs/RELEASING.mdfor Windows targets, published-by-default behaviour, and checksum verificationValidation
pnpm lint(currently a placeholder script in this repo).github/workflows/publish-desktop.yml.github/release.ymlNotes