Skip to content

ci(release): publish Win/Linux installers on tag (decoupled)#202

Merged
oratis merged 1 commit into
mainfrom
release/cross-platform
Jun 27, 2026
Merged

ci(release): publish Win/Linux installers on tag (decoupled)#202
oratis merged 1 commit into
mainfrom
release/cross-platform

Conversation

@oratis

@oratis oratis commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Builds the Win/Linux release pipeline (P2 #5 / your request). On every v* tag, the release now also produces Windows + Linux installers and attaches them to the same GitHub Release.

What

  • build-desktop job (Linux + Windows matrix) → Markup_<ver>_amd64.deb, Markup_<ver>_amd64.AppImage, Markup_<ver>_x64-setup.exe. Build step is identical to the already-verified cross-platform-bundle spike (spike(cross-platform): real Win/Linux installers (deb/appimage/nsis) #199).
  • release-desktop job → downloads those artifacts, computes SHA256SUMS-desktop, and softprops/action-gh-release appends them to the release by tag.
  • Decoupled from the macOS build/release jobs (same pattern as the mas job): a flaky AppImage/NSIS build can't block a macOS release, and vice versa. Verified job graph: build→release and build-desktop→release-desktop are independent.

Deliberate limits (documented inline + in the hardening doc)

  • Unsigned. Windows SmartScreen will warn until a code-signing cert is wired (owner's call — the comment block lists exactly how to add it).
  • No auto-updater for Win/Linux — latest.json stays macOS-only; those users update by re-downloading.

Not live-tested end-to-end

release.yml is tag-triggered, so I didn't cut a throwaway release (it'd also run the 90-min macOS build + publish a bogus version). Each piece is either proven (build-desktop ≡ #199) or standard (download-artifact + action-gh-release). The first real v* tag will exercise it; happy to dry-run with a pre-release tag if you'd like.

🤖 Generated with Claude Code

Adds build-desktop (Linux deb+appimage, Windows nsis) + release-desktop jobs
that attach the installers to the same GitHub Release on every v* tag. The
build step is identical to the proven cross-platform-bundle spike.

Decoupled from the macOS build/release jobs (mirrors the `mas` job): a flaky
AppImage/NSIS build can't block a macOS release and vice versa. Unsigned today
(Windows cert is the owner's call) and no auto-updater (Win/Linux updates are
manual re-downloads) — both documented inline + in the hardening doc.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@oratis oratis merged commit 35c8c0b into main Jun 27, 2026
6 checks passed
@oratis oratis deleted the release/cross-platform branch June 27, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant