ci: add CI checks and tag-triggered release workflow

Phase 2 of the 0.1.0 release prep, running on the GitHub mirror:
- ci.yml: frontend type-check/build, rustfmt gate, clippy (CPU-only) on
  windows-latest with pnpm + rust caching
- release.yml: v* tags build the NSIS installer via tauri-action and attach
  it to a draft GitHub Release with updater JSON; updater signing secrets
  referenced ahead of Phase 3
- both build --no-default-features: runners have no CUDA toolkit, and the
  shipped artifact must be the CPU/DirectML build
This commit is contained in:
2026-06-12 18:41:32 +01:00
parent 1629339569
commit 34ced67fe1
2 changed files with 107 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
# windows-latest to match the release target — the ML crates (ort, candle)
# and the NSIS bundle only ever ship from Windows.
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 11
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- name: Install frontend dependencies
run: pnpm install --frozen-lockfile
# tsc + vite build; also produces dist/ which tauri's build script expects
- name: Type-check and build frontend
run: pnpm build:vite
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Rustfmt
working-directory: src-tauri
run: cargo fmt --check
# Default features only — candle-cuda must never be enabled in CI.
- name: Clippy
working-directory: src-tauri
run: cargo clippy --all-targets --locked