diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fecbeb6..35709e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,10 +11,16 @@ permissions: jobs: test: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: - python-version: ["3.9", "3.12"] + include: + # ubuntu-latest (26.04) no longer ships Python 3.9; keep testing it on 24.04 while pyproject declares it. + - python-version: "3.9" + os: ubuntu-24.04 + - python-version: "3.12" + os: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: diff --git a/README.md b/README.md index ddbb786..af8dde4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # ModelHawk +[![CI](https://github.com/Pyhroff/ModelHawk/actions/workflows/ci.yml/badge.svg)](https://github.com/Pyhroff/ModelHawk/actions/workflows/ci.yml) + **A static malware scanner for serialized ML models — it detects code-execution backdoors hidden inside PyTorch / pickle model files *without* running them.** > A `.pt` / `.bin` / `.pkl` model file is not data — it's a program. ModelHawk reads the program and tells you if it bites.