# Copyright 2019-2024 Tauri Programme within The Commons Conservancy # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT name: lint core on: push: branches: - dev - 1.x pull_request: paths: - '.github/workflows/lint-core.yml' - 'core/**' - '!core/tauri/scripts/**' - 'examples/**' env: RUST_BACKTRACE: 1 CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: install Rust stable and rustfmt uses: dtolnay/rust-toolchain@stable with: components: rustfmt - name: run cargo fmt run: cargo fmt --all -- --check clippy: runs-on: ubuntu-latest strategy: matrix: clippy: - { args: '', key: 'empty' } - { args: '--all-features', key: 'all' } - { args: '--features custom-protocol', key: 'custom-protocol' } steps: - uses: actions/checkout@v4 - name: install dependencies run: | sudo apt-get update sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev - name: install Rust stable with clippy uses: dtolnay/rust-toolchain@stable with: components: clippy - uses: Swatinem/rust-cache@v2 with: workspaces: core -> ../target save-if: ${{ matrix.clippy.key == 'all' }} - name: Run clippy - ${{ matrix.clippy.key }} run: cargo clippy --manifest-path ./core/tauri/Cargo.toml --all-targets ${{ matrix.clippy.args }} -- -D warnings