Skip to content

perf: move blocking commands off the main thread, cut startup work #83

perf: move blocking commands off the main thread, cut startup work

perf: move blocking commands off the main thread, cut startup work #83

Workflow file for this run

name: CI
on:
push:
branches: [main, feat-atlas]
pull_request:
branches: [main]
jobs:
frontend:
name: Frontend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- name: Remove non-app workspaces
run: |
node -e "const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));p.workspaces=p.workspaces.filter(w=>w!=='web'&&w!=='docs');fs.writeFileSync('package.json',JSON.stringify(p,null,2))"
rm -rf web docs
npm install --package-lock-only --ignore-scripts
- name: Install dependencies
run: npm ci
- name: Type check
run: npx tsc --noEmit
- name: Build frontend
run: npm run build:frontend
rust:
name: Rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri -> src-tauri/target
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libxdo-dev
- name: Stub atlas bundle for cargo check
run: mkdir -p src-tauri/resources/atlas && touch src-tauri/resources/atlas/.keep
- name: Check
working-directory: src-tauri
run: cargo check
- name: Test
working-directory: src-tauri
run: cargo test