Skip to content

ci: add multi-platform release workflow (extension + CLI + desktop)#21

Merged
tamimbinhakim merged 2 commits into
masterfrom
ci/release-workflow
Jun 6, 2026
Merged

ci: add multi-platform release workflow (extension + CLI + desktop)#21
tamimbinhakim merged 2 commits into
masterfrom
ci/release-workflow

Conversation

@tamimbinhakim

Copy link
Copy Markdown
Contributor

Why

The v0.1.0-alpha release only had the extension zip. Desktop installers and CLI binaries are per-OS (Tauri .msi/.dmg/.AppImage and native binaries can't be cross-compiled from one machine), so producing them needs a CI matrix.

What this adds

.github/workflows/release.yml — on a v* tag (or manual dispatch for an existing tag), builds and attaches:

Artifact How Platforms
sukoon-extension.zip pnpm --filter @sukoon/extension package (wasm-pack + vite)
CLI binary cargo build --release -p sukoon-cli --features onnx linux x86_64 · macOS arm64 · windows x86_64
Desktop installer tauri-apps/tauri-action .AppImage · .dmg · .msi
  • A release job creates the prerelease (or reuses an existing tag's release), then each build job uploads to it.
  • fail-fast: false — one platform failing doesn't block the others.
  • Does not run on PRs (tag/dispatch only), so it won't affect this PR's checks.

After merge — to populate the current release

Run it manually against the existing tag: Actions → Release → Run workflow → v0.1.0-alpha (or push a new tag). The first run is the real test — alpha desktop/CLI builds may surface a dep or config fix, which I'll iterate on.

Notes / future

  • macOS builds are arm64 for now (native runner); Intel/universal can be added later.
  • Desktop installers are unsigned (alpha) — users will see an OS "unidentified developer" prompt. Code signing/notarization is a later step.

🤖 Generated with Claude Code

Builds and attaches all shippable artifacts to a GitHub Release on a version
tag (or manual dispatch for an existing tag):

- Extension: sukoon-extension.zip (wasm-pack + vite bundle)
- CLI: linux/macOS/Windows binaries (cargo build --features onnx)
- Desktop: .dmg / .msi / .AppImage via tauri-action (per-OS matrix)

Each platform builds on its own runner (Tauri/CLI installers can't be
cross-compiled), so a tagged release now ships everything, not just the
extension. fail-fast is off so one platform's failure doesn't block the rest.
@tamimbinhakim tamimbinhakim enabled auto-merge (squash) June 6, 2026 06:45
@tamimbinhakim tamimbinhakim merged commit 07d8560 into master Jun 6, 2026
5 checks passed
@tamimbinhakim tamimbinhakim deleted the ci/release-workflow branch June 6, 2026 06:47
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