Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 19 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,42 +71,36 @@ jobs:
ui:
name: UI (Vite/React frontend)
runs-on: ubuntu-latest
defaults:
run:
working-directory: ui
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: npm
cache-dependency-path: ui/package-lock.json
- run: npm ci
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Lint (oxlint)
run: npm run lint
run: pnpm -C ui run lint
- name: Unit tests (vitest)
run: npm run test
run: pnpm -C ui run test
- name: Type-check + build (tsc -b && vite build)
run: npm run build
run: pnpm -C ui run build

e2e:
name: UI e2e (Playwright)
runs-on: ubuntu-latest
defaults:
run:
working-directory: ui
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: npm
cache-dependency-path: ui/package-lock.json
- run: npm ci
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Install Playwright browser (chromium)
run: npx playwright install --with-deps chromium
run: pnpm -C ui exec playwright install --with-deps chromium
- name: Run e2e (builds + serves + drives the app; API stubbed via route interception)
run: npm run e2e
run: pnpm -C ui run e2e
- uses: actions/upload-artifact@v4
if: failure()
with:
Expand All @@ -119,12 +113,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: mcp-server (install + type-check)
working-directory: mcp-server
run: npm ci && npx tsc --noEmit
- name: sdk (install + type-check)
working-directory: sdk
run: npm ci && npx tsc --noEmit
node-version-file: .nvmrc
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: mcp-server (type-check)
run: pnpm -C mcp-server exec tsc --noEmit
- name: sdk (type-check)
run: pnpm -C sdk exec tsc --noEmit
8 changes: 6 additions & 2 deletions .github/workflows/desktop-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,14 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: pnpm
uses: pnpm/action-setup@v4

- name: Node
uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm

- name: Rust
uses: dtolnay/rust-toolchain@stable
Expand All @@ -47,14 +51,14 @@ jobs:
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Frontend deps
run: npm --prefix ui ci
run: pnpm install --frozen-lockfile

# Build the UI explicitly here (into ui/dist) rather than via tauri.conf's
# beforeBuildCommand: tauri-action runs before-commands from a different cwd than a local
# `tauri build`, and no single relative --prefix works for both. So beforeBuildCommand is
# empty and the frontend is built here, cwd-unambiguously, from the repo root.
- name: Build UI
run: npm --prefix ui run build
run: pnpm -C ui run build

- name: Build + attach installers
uses: tauri-apps/tauri-action@v0
Expand Down
Loading
Loading