on: push: paths: - src-tauri/** - .github/workflows/** name: CI (Rust) defaults: run: working-directory: src-tauri jobs: test: name: Check/Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: sparse-checkout: 'src-tauri' sparse-checkout-cone-mode: false - run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev - name: Install Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Set up cargo cache uses: actions/cache@v3 continue-on-error: false with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo- - name: Lint run: | cargo fmt --all -- --check cargo clippy -- -D warnings - name: Install cargo check tools run: | cargo install --locked cargo-deny || true cargo install --locked cargo-outdated || true cargo install --locked cargo-udeps || true cargo install --locked cargo-audit || true cargo install --locked cargo-pants || true - name: Check run: | cargo deny check cargo outdated --exit-code 1 cargo udeps rm -rf ~/.cargo/advisory-db cargo audit cargo pants - run: cargo test --all