Skip to content

feat(quick-open): Go to File (Mod+G) #105

feat(quick-open): Go to File (Mod+G)

feat(quick-open): Go to File (Mod+G) #105

Workflow file for this run

name: Build
on:
push:
branches: [master]
pull_request:
branches: [master]
env:
CARGO_TERM_COLOR: always
jobs:
frontend:
name: Frontend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
- run: npm ci
- name: Typecheck
run: npx tsc --noEmit
- name: Lint
run: npm run lint
- name: Format check
run: npm run format:check
- name: Test
run: npm test
- name: Build
run: npm run build
rust:
name: Rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev
- name: Create frontend dist stub
run: mkdir -p dist
- name: Format check
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
- name: Build
run: cargo build --workspace --all-targets
- name: Test
run: cargo test --workspace --all-targets
- name: tauri-specta bindings up to date
# Regenerate via the xtask (built with --features specta-bindings so
# platform-gated specta items are host-independent) and fail if the
# committed src/lib/bindings.ts drifts.
run: cargo xtask gen-bindings --check
# The notices generator reads licence files out of `node_modules`, so
# this job needs the npm tree as well as the cargo one.
- uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
- run: npm ci
- name: Third-party notices up to date
run: cargo xtask notices --check