refactor(client): unify web and desktop release workflow
Client Quality Gates / Shared client and Web (push) Has been cancelled
Client Quality Gates / macOS Desktop (push) Has been cancelled

This commit is contained in:
Cheng Zhou
2026-06-30 20:25:07 +08:00
parent d1a6c957f7
commit 7c721d4e5c
21 changed files with 1016 additions and 14 deletions
@@ -0,0 +1,85 @@
name: Client Quality Gates
on:
pull_request:
paths:
- "frontend/**"
- ".github/workflows/client-quality-gates.yml"
- "docs/branch-governance.md"
- "docs/guides/client-release.md"
push:
branches:
- dev
- main
- release
paths:
- "frontend/**"
- ".github/workflows/client-quality-gates.yml"
jobs:
web:
name: Shared client and Web
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Check synchronized client version
run: npm run version:check
- name: Check runtime boundary
run: npm run runtime:check
- name: Type check
run: npm run type-check
- name: Unit tests
run: npm run test:unit
- name: Build Web artifact
run: npm run build
env:
VITE_BUILD_CHANNEL: ${{ github.ref_name }}
VITE_BUILD_COMMIT: ${{ github.sha }}
desktop:
name: macOS Desktop
runs-on: macos-latest
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Install dependencies
run: npm ci
- name: Build macOS application
run: npm run desktop:build -- --bundles app
env:
VITE_BUILD_CHANNEL: ${{ github.ref_name }}
VITE_BUILD_COMMIT: ${{ github.sha }}