Repository: pints-team/pints (language: python)

Issue:
Add testing on 3.10
~Depends on https://github.com/stan-dev/pystan/issues/339~
Depends on #1333

See #1433  


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/upload-to-pypi.yml b/.github/workflows/upload-to-pypi.yml
index 7efd91ff9..d08c6f6f2 100644
--- a/.github/workflows/upload-to-pypi.yml
+++ b/.github/workflows/upload-to-pypi.yml
@@ -14,11 +14,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       - name: install dependencies
         run: |
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9c6c807de..d80f022cf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,8 +9,8 @@ All notable changes to this project will be documented in this file.
 - [#1417](https://github.com/pints-team/pints/pull/1417) Added a module `toy.stochastic` for stochastic models. In particular, `toy.stochastic.MarkovJumpModel` implements Gillespie's algorithm for easier future implementation of stochastic models.
 
 ### Changed
+- [#1439](https://github.com/pints-team/pints/pull/1439), [#1433](https://github.com/pints-team/pints/pull/1433) PINTS is no longer tested on Python 3.5. Testing for Python 3.10 has been added.
 - [#1435](https://github.com/pints-team/pints/pull/1435) The optional Stan interface now uses (and requires) pystan 3 or newer. The ``update_data`` method has been remove (model compilation is now cached so that there is no performance benefit to using this method).
-- [#1433](https://github.com/pints-team/pints/pull/1433) PINTS is no longer tested on Python 3.5.
 - [#1424](https://github.com/pints-team/pints/pull/1424) Fixed a bug in PSO that caused it to use more particles than advertised.
 - [#1424](https://github.com/pints-team/pints/pull/1424) xNES, SNES, PSO, and BareCMAES no longer use a `TriangleWaveTransform` to handle rectangular boundaries (this was found to lead to optimisers diverging in some cases).
 


Test patch:
diff --git a/.github/workflows/copyright-test.yml b/.github/workflows/copyright-test.yml
index 89fa18799..76477a2f4 100644
--- a/.github/workflows/copyright-test.yml
+++ b/.github/workflows/copyright-test.yml
@@ -22,11 +22,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       - name: install pints
         run: |
diff --git a/.github/workflows/coverage-test.yml b/.github/workflows/coverage-test.yml
index 88ccae85e..3b851469f 100644
--- a/.github/workflows/coverage-test.yml
+++ b/.github/workflows/coverage-test.yml
@@ -22,11 +22,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       - name: install pints
         run: |
diff --git a/.github/workflows/docs-test.yml b/.github/workflows/docs-test.yml
index 16b32d321..1ba1d5b40 100644
--- a/.github/workflows/docs-test.yml
+++ b/.github/workflows/docs-test.yml
@@ -22,11 +22,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       - name: install pints
         run: |
diff --git a/.github/workflows/notebook-interfaces-test.yml b/.github/workflows/notebook-interfaces-test.yml
index 8ab76e100..c701d5a7f 100644
--- a/.github/workflows/notebook-interfaces-test.yml
+++ b/.github/workflows/notebook-interfaces-test.yml
@@ -14,11 +14,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       # We use e.g. install pints[stan] to install dependencies for interfaces
       # that have some code in pints/interfaces. Dependencies that are not used
diff --git a/.github/workflows/notebook-test.yml b/.github/workflows/notebook-test.yml
index dbfa4c432..0f7eebf8e 100644
--- a/.github/workflows/notebook-test.yml
+++ b/.github/workflows/notebook-test.yml
@@ -14,11 +14,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       - name: install pints
         run: |
diff --git a/.github/workflows/style-test.yml b/.github/workflows/style-test.yml
index 716b46c70..441234ad4 100644
--- a/.github/workflows/style-test.yml
+++ b/.github/workflows/style-test.yml
@@ -22,11 +22,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       - name: install pints
         run: |
diff --git a/.github/workflows/unit-test-os-coverage.yml b/.github/workflows/unit-test-os-coverage.yml
index 728cf3919..a2bd18965 100644
--- a/.github/workflows/unit-test-os-coverage.yml
+++ b/.github/workflows/unit-test-os-coverage.yml
@@ -26,11 +26,8 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.9
-          architecture: x64
+      - name: Set up Python
+        uses: actions/setup-python@v2
 
       - name: install pints
         run: |
diff --git a/.github/workflows/unit-test-python-coverage.yml b/.github/workflows/unit-test-python-coverage.yml
index c67fc5689..f26eb905e 100644
--- a/.github/workflows/unit-test-python-coverage.yml
+++ b/.github/workflows/unit-test-python-coverage.yml
@@ -21,13 +21,13 @@ jobs:
 
     strategy:
       matrix:
-        python-version: ['3.6', '3.7', '3.8', '3.9']
+        python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
 
     steps:
       - uses: actions/checkout@v1
 
       - name: Set up Python ${{ matrix.python-version }}
-        uses: actions/setup-python@v1
+        uses: actions/setup-python@v2
         with:
           python-version: ${{ matrix.python-version }}
           architecture: x64