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

Issue:
Ubuntu support: Add 18! Drop 16?
We've currently set up OS testing on ubuntu 16 and ubuntu "latest". 

- [Recently, latest has become 20 so that 18 is no longer tested](https://github.blog/changelog/2020-10-29-github-actions-ubuntu-latest-workflows-will-use-ubuntu-20-04/)
- [16 is EOL since april 2021 and will be removed from github actions in september 2021](https://github.com/actions/virtual-environments/issues/3287)

So, we should definitely add 18 to testing. But should we remove 16 too, or wait till september?


Discussion / hints:
Thoughts @fcooper8472 @martinjrobins ?

Anyone still using 16 @pints-team/devs ?
We shouldn't still be using 16.04, no.  Interestingly we're currently testing on:

```
ubuntu-16.04, macos-latest, windows-latest
```

I think this should probably change to:

```
ubuntu-18.04, ubuntu-20.04, macos-10.15, macos-11, windows-latest
```
I think we left out ubuntu-latest on purpose, because it's already covered by the python-versions test (and the coverage test, come to think of it)

Fix patch:
diff --git a/.github/workflows/upload-to-pypi.yml b/.github/workflows/upload-to-pypi.yml
index 0322af65a..7efd91ff9 100644
--- a/.github/workflows/upload-to-pypi.yml
+++ b/.github/workflows/upload-to-pypi.yml
@@ -14,10 +14,10 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.8
+      - name: Set up Python 3.9
         uses: actions/setup-python@v1
         with:
-          python-version: 3.8
+          python-version: 3.9
           architecture: x64
 
       - name: install dependencies


Test patch:
diff --git a/.github/workflows/copyright-test.yml b/.github/workflows/copyright-test.yml
index c0314741a..89fa18799 100644
--- a/.github/workflows/copyright-test.yml
+++ b/.github/workflows/copyright-test.yml
@@ -22,10 +22,10 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.8
+      - name: Set up Python 3.9
         uses: actions/setup-python@v1
         with:
-          python-version: 3.8
+          python-version: 3.9
           architecture: x64
 
       - name: install pints
diff --git a/.github/workflows/coverage-test.yml b/.github/workflows/coverage-test.yml
index b46816b89..88ccae85e 100644
--- a/.github/workflows/coverage-test.yml
+++ b/.github/workflows/coverage-test.yml
@@ -22,10 +22,10 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.8
+      - name: Set up Python 3.9
         uses: actions/setup-python@v1
         with:
-          python-version: 3.8
+          python-version: 3.9
           architecture: x64
 
       - name: install pints
diff --git a/.github/workflows/docs-test.yml b/.github/workflows/docs-test.yml
index 871fd8405..16b32d321 100644
--- a/.github/workflows/docs-test.yml
+++ b/.github/workflows/docs-test.yml
@@ -22,10 +22,10 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.8
+      - name: Set up Python 3.9
         uses: actions/setup-python@v1
         with:
-          python-version: 3.8
+          python-version: 3.9
           architecture: x64
 
       - name: install pints
diff --git a/.github/workflows/style-test.yml b/.github/workflows/style-test.yml
index 6c19a32d7..716b46c70 100644
--- a/.github/workflows/style-test.yml
+++ b/.github/workflows/style-test.yml
@@ -22,10 +22,10 @@ jobs:
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.8
+      - name: Set up Python 3.9
         uses: actions/setup-python@v1
         with:
-          python-version: 3.8
+          python-version: 3.9
           architecture: x64
 
       - name: install pints
diff --git a/.github/workflows/unit-test-os-coverage.yml b/.github/workflows/unit-test-os-coverage.yml
index f762faf8e..728cf3919 100644
--- a/.github/workflows/unit-test-os-coverage.yml
+++ b/.github/workflows/unit-test-os-coverage.yml
@@ -21,15 +21,15 @@ jobs:
 
     strategy:
       matrix:
-        os: [ubuntu-16.04, macos-latest, windows-latest]
+        os: [ubuntu-18.04, macos-latest, windows-latest]
 
     steps:
       - uses: actions/checkout@v1
 
-      - name: Set up Python 3.8
+      - name: Set up Python 3.9
         uses: actions/setup-python@v1
         with:
-          python-version: 3.8
+          python-version: 3.9
           architecture: x64
 
       - name: install pints