forjar 1.12.2

Rust-native Infrastructure as Code — bare-metal first, BLAKE3 state, provenance tracing
Documentation
# Lint and clippy checks across platforms
# Ensures code quality on ubuntu, windows, and macos

name: Lint

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

concurrency:
  group: lint-${{ github.event.pull_request.number || github.sha }}
  cancel-in-progress: true

jobs:
  clippy:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        features: ["", encryption]
        # Windows excluded: openssl-sys vendored build requires Perl/NASM
        # which is unreliable on GH runners. Sovereign-ci handles lint on Linux.
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10  # v6.0.3

      - name: Install Rust toolchain
        run: rustup show

      - name: Cache cargo
        uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae  # v5.0.5
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: lint-${{ runner.os }}-${{ matrix.features }}-${{ hashFiles('**/Cargo.lock') }}

      - name: Clippy
        shell: bash
        run: |
          if [ -n "${{ matrix.features }}" ]; then
            cargo clippy --all-targets --features ${{ matrix.features }} -- -D warnings
          else
            cargo clippy --all-targets -- -D warnings
          fi

      - name: Rustfmt
        run: cargo fmt --all -- --check