name: Linting on: push: pull_request: workflow_dispatch: # Allow manual triggering env: CARGO_TERM_COLOR: always jobs: linting: runs-on: ubuntu-latest timeout-minutes: 10 strategy: matrix: toolchain: [stable, nightly] steps: - id: update name: Update run: sudo apt-get update - id: checkout name: Checkout Repository uses: actions/checkout@v5 - id: node name: Setup Node.js uses: actions/setup-node@v5 with: node-version: "20" - id: setup name: Setup Rust Toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: ${{ matrix.toolchain }} components: clippy, rustfmt - id: cache name: Enable Workflow Cache uses: Swatinem/rust-cache@v2 - id: fetch name: Download Dependencies run: cargo fetch --verbose - id: build name: Compile Linter Binary run: cargo build --bin linter --verbose - id: lint name: Run All Linters run: ./target/debug/linter all