# Installs Rust and checks formatting + linting name: Lint Rust on: push: branches: - main pull_request: paths-ignore: - "src/**" - "package.json" - "package-lock.json" - "yarn.lock" - "pnpm-lock.yaml" - "README.md" jobs: build: strategy: fail-fast: true matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Disable git core.autocrlf on Windows if: matrix.os == 'windows-latest' run: git config --global core.autocrlf false - name: Checkout repository code uses: actions/checkout@v3 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - name: Install Linux dependencies if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt install libdbus-1-dev libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev - name: Create empty 'out' directory run: mkdir out - name: Run rustfmt check run: cargo fmt --all -- --check working-directory: src-tauri - name: Run clippy check and deny warnings run: cargo clippy --all-targets --all-features -- -D warnings working-directory: src-tauri