malware-modeler 0.0.6

Train logisitic regression models for benign vs. malicious files based on byte n-grams and published research, plus related tools.
Documentation
name: Test
on: [ push, pull_request ]
permissions:
  contents: read
jobs:
  test:
    strategy:
      matrix:
        platform:
          - host: macos-latest
            name: macOS
          - host: ubuntu-latest
            name: Linux
          - host: windows-latest
            name: Windows
    runs-on: ${{ matrix.platform.host }}
    steps:
      - uses: actions/checkout@v7
      - name: Update Rust toolchain on ${{ matrix.platform.name }}
        run: rustup update
      - name: cargo test on ${{ matrix.platform.name }}
        run: cargo test --features=experimental

  crates_io_publish:
    runs-on: ubuntu-latest
    if: startsWith(github.ref, 'refs/tags/') && github.event_name == 'push'
    name: Publish to crates.io
    needs: [test]
    permissions:
      contents: read
      id-token: write

    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
        with:
          egress-policy: block
          disable-sudo: true
          allowed-endpoints: >
            cdn.fwupd.org:443
            crates.io:443
            esm.ubuntu.com:443
            github.com:443
            index.crates.io:443
            motd.ubuntu.com:443
            static.crates.io:443
            static.rust-lang.org:443

      - name: Checkout repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
      - uses: rust-lang/crates-io-auth-action@c6f97d42243bad5fab37ca0427f495c86d5b1a18 # v1.0.5
        id: auth
      - run: cargo publish
        env:
          CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}