malware-modeler 0.0.5

Train logisitic regression models for benign vs. malicious files based on byte n-grams and publish research, plus related tools.
Documentation
name: Lint
on: [ push, pull_request ]
permissions:
  contents: read
jobs:
  clippy:
    name: Cargo clippy & fmt
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - name: Setup Rust toolchain
      run: rustup show && rustup update
    - name: cargo fmt
      run: cargo fmt -- --check
    - name: Install libmagic-dev
      run: |
        sudo apt-get update
        sudo apt-get install -y libmagic-dev
    - name: cargo clippy
      run: cargo clippy --all-features --tests -- -D warnings

  check-spdx-headers:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: enarx/spdx@b5bfdd4410071bf058c8333d0e70020001524b6b # master
        with:
          licenses: Apache-2.0

  udeps:
    name: Unused dependencies
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Install nightly and cargo-udeps
        run: |
          rustup update
          rustup toolchain install nightly
          sudo apt-get install -y wget
          wget https://github.com/est31/cargo-udeps/releases/download/v0.1.57/cargo-udeps-v0.1.57-x86_64-unknown-linux-musl.tar.gz
          tar -xzf cargo-udeps-v0.1.57-x86_64-unknown-linux-musl.tar.gz
          mv cargo-udeps-v0.1.57-x86_64-unknown-linux-musl/cargo-udeps ~/.cargo/bin
          cargo +nightly udeps

  audit:
    name: Cargo Audit
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - uses: taiki-e/install-action@0d865d5cc6d507df4765f1f866bfae8bab4e2a73 # v2.69.7
        with:
          tool: cargo-audit

      - name: Run Cargo Audit
        run: cargo audit