Skip to content

fix: use direct copy commands like TUI workflow instead of find #29

fix: use direct copy commands like TUI workflow instead of find

fix: use direct copy commands like TUI workflow instead of find #29

Workflow file for this run

name: desktop
on:
push:
branches: [main, desktop]
pull_request:
branches: [main, desktop]
workflow_dispatch:
concurrency:
group: desktop-${{ github.ref }}
cancel-in-progress: true
jobs:
ci:
name: Desktop CI (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: "pnpm"
cache-dependency-path: keyless-desktop/pnpm-lock.yaml
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- name: Cache cargo
uses: Swatinem/rust-cache@v2
- name: Install system dependencies (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libasound2-dev libx11-dev libxi-dev libxtst-dev libxrandr-dev libxext-dev libxrender-dev libxfixes-dev libxcomposite-dev libxcursor-dev libxdo-dev pkg-config
- name: Install frontend deps
run: pnpm -C keyless-desktop install --frozen-lockfile
- name: Frontend typecheck
run: pnpm -C keyless-desktop exec tsc --noEmit
- name: Frontend tests
run: pnpm -C keyless-desktop test
- name: Format check
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Build desktop (debug)
run: |
# Build Rust binary directly to skip slow bundle creation in CI
cargo build --package keyless-desktop