How we build and release

We use GitHub Actions workflows to automate the entire release process.

We release in three steps:

  1. Create a draft release on Github
  2. Build and upload those builds to the draft release
  3. Publish the draft as the latest release

Create a draft

  • Trigger: push a tag vX.Y.Z
  • Workflow: "release-1-draft"
  • Result: a draft GitHub Release with autogenerated notes (no binaries yet)

Build and upload builds (All platforms on CI)

  • Workflow: "release-2-build-upload" (manual, input the tag)
  • Builds and uploads macOS (signed + notarized), Windows, and Linux artifacts to the same draft release

Publish the draft

  • Workflow: "release-3-finalize" (manual, input the tag)
  • Sets draft=false so users and auto-updaters see the new version

Github actions

See .github/workflows/ in the root Use gh cli tool to inspect workflows if needed

Notes

  • All platforms are built on CI. macOS artifacts are code-signed and notarized automatically.
  • We produce a single universal macOS DMG (Intel + Apple Silicon).
  • The latest public release is available on the download page: silain.com/download.