name: rust-ci
on: push

# sccache enable for rust/C builds
env:
  SCCACHE_GHA_ENABLED: "true"
  RUSTC_WRAPPER: "sccache"

jobs:
  rust-ci-run:
    name: Run rust-clippy analyzing and tests
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      # SETUP
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - uses: mozilla-actions/sccache-action@v0.0.9

      # TESTS
      - name: Run tests
        run: cargo test --all-targets --all-features

      # CLIPPY
      - name: Run rust-clippy
        run: cargo clippy --all-targets --all-features -- -D warnings
