ci: GitHub Actions for CI checks and cross-platform releases#6
Merged
Conversation
Two workflows: ci.yml — runs on every PR to main: - TypeScript check (npx tsc --noEmit) - Rust check (cargo check) - Runs on windows-latest to match the primary dev platform release.yml — triggered by pushing a v* tag: - Builds on 4 targets in parallel: - Windows x64 (MSI via WiX) - macOS Apple Silicon (DMG, aarch64) - macOS Intel (DMG, x64) - Linux x64 (deb + AppImage) - Uses tauri-apps/tauri-action to build, sign (via TAURI_SIGNING_PRIVATE_KEY secret), and create a draft GitHub release with all platform artifacts and the latest.json updater manifest - Release body includes an installation table and first-launch notes - Release is created as a draft so we can review before publishing Linux build installs required system dependencies (webkit2gtk 4.1, libsoup 3.0, etc.) matching Tauri 2 requirements on Ubuntu 22.04. README installation section updated: replaces the Windows-only install instructions with a platform table listing all four build targets with a note that Windows is the primary tested platform and macOS/Linux are community-tested. Required GitHub secrets (must be set before first tag push): - TAURI_SIGNING_PRIVATE_KEY — the Tauri updater signing private key (generated previously with `npm run tauri signer generate`) - TAURI_SIGNING_PRIVATE_KEY_PASSWORD — password for the private key (empty string if no password was set)
The original signing private key was lost (stored in a literal ~/ directory due to Windows tilde expansion, then the path was unknown until rediscovered at L:\PoPManager\~\.tauri\popmanager.key). A new keypair was generated and the private key is now set as the TAURI_SIGNING_PRIVATE_KEY GitHub secret. This commit updates the pubkey in tauri.conf.json to match the new pair.
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
Adds two GitHub Actions workflows so every PR gets type-checked and every release tag automatically builds installers for Windows, macOS (ARM + Intel), and Linux. Also updates the README installation section to list all platforms.
This PR is independent of PRs #4 and #5 — merge order doesn't matter.
Workflows
ci.yml— PR checksmainnpx tsc --noEmit+cargo checkonwindows-latestrelease.yml— Cross-platform release buildsv*tag (e.g.git tag v1.0.0 && git push --tags)windows-latest.msiinstallermacos-latest.dmg(aarch64)macos-latest.dmg(x64)ubuntu-22.04.deb+.AppImagetauri-apps/tauri-action@v0which handles:TAURI_SIGNING_PRIVATE_KEYlatest.jsonfor the in-app updaterLinux build dependencies
Ubuntu 22.04 runner installs
webkit2gtk-4.1-dev,libsoup-3.0-dev,libjavascriptcoregtk-4.1-dev, and related libraries required by Tauri 2.Required GitHub secrets
Before pushing the first
v*tag, set these in Settings → Secrets and variables → Actions → Repository secrets:TAURI_SIGNING_PRIVATE_KEYTAURI_SIGNING_PRIVATE_KEY_PASSWORD`GITHUB_TOKEN` is provided automatically by GitHub Actions — no manual setup needed.
If you've lost the private key, you can regenerate with `npm run tauri signer generate` and update the `pubkey` in `tauri.conf.json` to match. Existing installed copies won't be able to verify updates signed with the new key, but v1.0.0 is the first public release so there's no installed base to worry about.
README update
Installation section replaced the Windows-only instructions with a platform table:
Includes a note that Windows is the primary platform and macOS/Linux should work but haven't been as extensively tested.
Release process after merge
Files changed
```
.github/workflows/ci.yml | 26 +++ NEW
.github/workflows/release.yml | 96 +++ NEW
README.md | +4/-4
3 files changed, 126 insertions(+), 4 deletions(-)
```