name: Core CI on: [push, pull_request] env: SEARCHI_FORCE_CPU: "1" jobs: core: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - run: cargo fmt --all -- --check - run: cargo clippy --workspace --all-targets -- -D warnings - run: cargo test --workspace --locked desktop: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} defaults: run: working-directory: apps/desktop env: WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS: --disable-gpu steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - uses: actions/setup-node@v4 with: node-version: 24 - if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential libssl-dev librsvg2-dev libayatana-appindicator3-dev - run: npm ci - run: npm run format:check - run: npm test - run: npm run build - run: cargo fmt --manifest-path src-tauri/Cargo.toml -- --check - run: cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --locked -- -D warnings - run: cargo test --manifest-path src-tauri/Cargo.toml --locked