-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix test of CLI tool across OSes and Python versions (#1)
* add runs-on * make ~/wsi directory * add "from __future__ import annotations" * quiet wget + test only on ubuntu temporarily * set cache key + test wsinfer-mil twice * install jsonschema in main deps * run ruff once per pr * mk ~/wsi only if it does not exist * run only on ubuntu * rename to Linux * add tests on windows and macos * add mypy workflow * [skip ci] rename job * use invoke webrequest for windows * use dir other than /tmp * set default num_workers=-1
- Loading branch information
Showing
12 changed files
with
141 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
name: macOS | ||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
jobs: | ||
Test-CLI: | ||
runs-on: macos-latest | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
steps: | ||
- name: Cache sample WSI | ||
uses: actions/cache@v3 | ||
with: | ||
path: ~/wsi/ | ||
key: sample-wsi | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install WSInfer-CLI | ||
run: | | ||
python -m pip install --upgrade pip setuptools wheel | ||
python -m pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu | ||
python -m pip install . | ||
- name: Download sample WSI | ||
run: | | ||
mkdir -p ~/wsi | ||
cd ~/wsi | ||
wget -nc -q https://openslide.cs.cmu.edu/download/openslide-testdata/Aperio/CMU-1.svs | ||
cd - | ||
- name: Run tests | ||
# Go to a different directory to test that WSInfer-MIL still finds everything it needs. | ||
# Test it twice so the second time we get cache hits. | ||
run: | | ||
cd /tmp | ||
wsinfer-mil run -m kaczmarj/pancancer-tissue-classifier.tcga -i ~/wsi/CMU-1.svs | ||
wsinfer-mil run -m kaczmarj/pancancer-tissue-classifier.tcga -i ~/wsi/CMU-1.svs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Windows | ||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
jobs: | ||
Test-CLI: | ||
runs-on: windows-latest | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
steps: | ||
- name: Cache sample WSI | ||
id: cache-wsi | ||
uses: actions/cache@v3 | ||
with: | ||
path: ~/wsi/ | ||
key: sample-wsi | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install WSInfer-CLI | ||
run: | | ||
python -m pip install --upgrade pip setuptools wheel | ||
python -m pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu | ||
python -m pip install . | ||
- name: Download sample WSI | ||
if: steps.cache-wsi.outputs.cache-hit != 'true' | ||
run: | | ||
mkdir -p ~/wsi | ||
cd ~/wsi | ||
Invoke-WebRequest -URI https://openslide.cs.cmu.edu/download/openslide-testdata/Aperio/CMU-1.svs -OutFile CMU-1.svs | ||
cd - | ||
- name: Run tests | ||
# Go to a different directory to test that WSInfer-MIL still finds everything it needs. | ||
# Test it twice so the second time we get cache hits. | ||
run: | | ||
mkdir -p ~/foobar | ||
cd ~/foobar | ||
wsinfer-mil run -m kaczmarj/pancancer-tissue-classifier.tcga -i ~/wsi/CMU-1.svs | ||
wsinfer-mil run -m kaczmarj/pancancer-tissue-classifier.tcga -i ~/wsi/CMU-1.svs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Static Analysis | ||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
jobs: | ||
MyPy: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ["3.11"] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install WSInfer-CLI | ||
run: | | ||
python -m pip install --upgrade pip setuptools wheel | ||
python -m pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu | ||
python -m pip install .[dev] mypy | ||
- name: Run mypy | ||
run: python -m mypy --install-types --non-interactive wsinfer_mil |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
from __future__ import annotations | ||
|
||
from wsinfer_mil.cli import cli | ||
|
||
if __name__ == "__main__": | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from __future__ import annotations |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
from __future__ import annotations | ||
|
||
from pathlib import Path | ||
|
||
from platformdirs import user_cache_dir | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters