Repository: VarIr/scikit-hubness (language: python)

Issue:
v0.30: CI MacOS
Re-enable MacOS tests in Actions.
There were recently disabled due to issues with NGT.
v0.30: CI Windows
Re-enable Windows tests in Actions.


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/scikit-hubness_ci.yml b/.github/workflows/scikit-hubness_ci.yml
index 51dd855..a6c9dde 100644
--- a/.github/workflows/scikit-hubness_ci.yml
+++ b/.github/workflows/scikit-hubness_ci.yml
@@ -15,8 +15,14 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: [ ubuntu-latest ]
+        os: [ ubuntu-latest, macos-latest, windows-latest ]
         python: [ "3.8" , "3.9", "3.10" ]
+        exclude:
+          # Building nmslib from source fails on Windows: issue #102
+          - os: windows-latest
+            python: "3.9"
+          - os: windows-latest
+            python: "3.10"
 
     steps:
       - uses: actions/checkout@v2


Test patch:
diff --git a/skhubness/neighbors/tests/test_ngt.py b/skhubness/neighbors/tests/test_ngt.py
index 994e0e6..05194a9 100644
--- a/skhubness/neighbors/tests/test_ngt.py
+++ b/skhubness/neighbors/tests/test_ngt.py
@@ -191,6 +191,7 @@ def test_memory_mapped(dir_, NGT):
             ann.fit(X, y)
 
 
+@pytest.mark.skipif(sys.platform == "win32", reason="NGT not supported on Windows.")
 @pytest.mark.parametrize("metric", ["euclidean", "cosine"])
 def test_transformer_vs_legacy_ngt(metric):
     X, y = make_classification(random_state=123)
diff --git a/skhubness/neighbors/tests/test_puffinn.py b/skhubness/neighbors/tests/test_puffinn.py
index f9bb006..f566ea0 100644
--- a/skhubness/neighbors/tests/test_puffinn.py
+++ b/skhubness/neighbors/tests/test_puffinn.py
@@ -145,6 +145,7 @@ def test_puffinn_lsh_custom_memory():
     assert lsh.memory == memory
 
 
+@pytest.mark.skipif(sys.platform == "win32", reason="Puffinn not supported on Windows.")
 @pytest.mark.parametrize("metric", ["angular", "jaccard"])
 def test_transformer_vs_legacy_puffinn(metric):
     X, y = make_classification(random_state=123)