Repository: SasView/sasmodels (language: python)

Issue:
Remove old test runners for older python versions (pre 3.10)
sasview is currently being built on python 3.9, 3.10 and 3.11 but not running test on 3.9.  Tests are all failing now it seems because 3.7 is no longer available to github runners.

ACTION: remove python 3.7, 3.8 and 3.9 from the tests and add 3.11.


Discussion / hints:

Fix patch:
diff --git a/doc/conf.py b/doc/conf.py
index f699179b..9a041857 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -27,6 +27,7 @@
 
 nitpick_ignore = [
     ('py:class', 'argparse.Namespace'),
+    ('py:class', 'bumps.parameter.Parameter'),
     ('py:class', 'collections.OrderedDict'),
     ('py:class', 'cuda.Context'),
     ('py:class', 'cuda.Function'),
@@ -40,6 +41,7 @@
     ('py:class', 'pyopencl._cl.Device'),
     ('py:class', 'pyopencl._cl.Kernel'),
     ('py:class', 'QWebView'),
+    ('py:class', 'types.ModuleType'),
     ('py:class', 'unittest.suite.TestSuite'),
     ('py:class', 'wx.Frame'),
     # autodoc and namedtuple is completely broken
@@ -55,6 +57,7 @@
     ('py:class', 'module'),
     ('py:class', 'SesansData'),
     ('py:class', 'SourceModule'),
+    ('py:class', 'TestCondition'),
     # KernelModel and Calculator breaking on git actions tests, even though
     # KernelModel is already listed. astropy example sometimes includes full
     # path to complaining symbol. Let's see if that helps here:
@@ -141,40 +144,6 @@
 # A list of ignored prefixes for module index sorting.
 #modindex_common_prefix = []
 
-nitpick_ignore = [
-    ('py:class', 'argparse.Namespace'),
-    ('py:class', 'bumps.parameter.Parameter'),
-    ('py:class', 'collections.OrderedDict'),
-    ('py:class', 'cuda.Context'),
-    ('py:class', 'cuda.Function'),
-    ('py:class', 'np.dtype'),
-    ('py:class', 'numpy.dtype'),
-    ('py:class', 'np.ndarray'),
-    ('py:class', 'numpy.ndarray'),
-    ('py:class', 'pyopencl.Program'),
-    ('py:class', 'pyopencl._cl.Context'),
-    ('py:class', 'pyopencl._cl.CommandQueue'),
-    ('py:class', 'pyopencl._cl.Device'),
-    ('py:class', 'pyopencl._cl.Kernel'),
-    ('py:class', 'QWebView'),
-    ('py:class', 'unittest.suite.TestSuite'),
-    ('py:class', 'wx.Frame'),
-    # autodoc and namedtuple is completely broken
-    ('py:class', 'integer -- return number of occurrences of value'),
-    ('py:class', 'integer -- return first index of value.'),
-    # autodoc doesn't handle these type definitions
-    ('py:class', 'Data'),
-    ('py:class', 'Data1D'),
-    ('py:class', 'Data2D'),
-    ('py:class', 'Kernel'),
-    ('py:class', 'ModelInfo'),
-    ('py:class', 'module'),
-    ('py:class', 'SesansData'),
-    ('py:class', 'SourceModule'),
-    ('py:class', 'TestCondition'),
-]
-
-
 
 # -- Options for HTML output ---------------------------------------------------
 


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index ff0441e5..ee92a1bc 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -9,21 +9,31 @@ jobs:
     strategy:
       matrix:
         os: [macos-latest, ubuntu-latest, windows-latest]
-        python-version: ["3.7", "3.8", "3.9", "3.10"]
+        python-version: ["3.10", "3.11"]
 
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
 
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
+      uses: actions/setup-python@v5
       with:
         python-version: ${{ matrix.python-version }}
 
+    - name: Free Disk Space (Ubuntu)
+      if: ${{ matrix.os == 'ubuntu-latest' }}
+      uses: jlumbroso/free-disk-space@main
+      with:
+        haskell: false
+        large-packages: false
+
     - name: setup apt dependencies for Linux
       if: ${{ matrix.os == 'ubuntu-latest' }}
       run: |
-        sudo apt-get update
-        sudo apt-get install opencl-headers ocl-icd-opencl-dev libpocl2
+        wget https://repo.radeon.com/amdgpu-install/6.1.1/ubuntu/jammy/amdgpu-install_6.1.60101-1_all.deb
+        sudo apt install ./amdgpu-install_6.1.60101-1_all.deb
+        sudo apt update
+        sudo apt install amdgpu-dkms
+        sudo apt install rocm
 
     - name: Install Python dependencies
       run: |