Repository: marph91/joppy (language: python)

Issue:
Extend the test jobs
Currently the tests are only run against a hardcoded version of joplin and python. To ensure compatibility, the tests should be ran against multiple versions. Ideally there should be distinct test jobs. Possible options:

- joplin: latest release, latest pre-release and oldest supported version (2.X?) -> The latest release should be sufficient, since the API doesn't change much.
- python: 3.6, ... -> can be done via build matrix
- os: linux (ubuntu), windows, mac -> Difficult, since the tests use linux-specific packets. Ubuntu should be sufficient, since joppy doesn't have any os-specific dependencies.


Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index 694db4d..16db399 100644
--- a/README.md
+++ b/README.md
@@ -3,9 +3,11 @@
 Python interface for the [Joplin data API](https://joplinapp.org/api/references/rest_api/).
 
 [![build](https://github.com/marph91/joppy/actions/workflows/build.yml/badge.svg)](https://github.com/marph91/joppy/actions/workflows/build.yml)
+[![lint](https://github.com/marph91/joppy/actions/workflows/lint.yml/badge.svg)](https://github.com/marph91/joppy/actions/workflows/lint.yml)
 [![tests](https://github.com/marph91/joppy/actions/workflows/tests.yml/badge.svg)](https://github.com/marph91/joppy/actions/workflows/tests.yml)
 [![codecov](https://codecov.io/gh/marph91/joppy/branch/master/graph/badge.svg?token=97E6IX792A)](https://codecov.io/gh/marph91/joppy)
-[![lint](https://github.com/marph91/joppy/actions/workflows/lint.yml/badge.svg)](https://github.com/marph91/joppy/actions/workflows/lint.yml)
+
+[![Python version](https://img.shields.io/pypi/pyversions/joppy.svg)](https://pypi.python.org/pypi/joppy/)
 
 ## :computer: Installation
 
diff --git a/setup.py b/setup.py
index 78883fc..7979047 100644
--- a/setup.py
+++ b/setup.py
@@ -17,6 +17,10 @@
         "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
         "Programming Language :: Python :: 3",
         "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
+        "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
     ],
     python_requires=">=3.6",
     install_requires=["requests"],


Test patch:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 6f9c2d1..24a48d4 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -5,10 +5,17 @@ on: [push]
 jobs:
   container:
     runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: ["3.6", "3.8", "3.10"]
     env:
       SLOW_TESTS: 1
     steps:
       - uses: actions/checkout@v2
+      - name: Set up Python
+        uses: actions/setup-python@v2
+        with:
+          python-version: ${{ matrix.python-version }}
       - name: Install system dependencies
         run: |
           sudo apt update &&
@@ -17,6 +24,7 @@ jobs:
         run: pip install -r requirements-dev.txt
       - name: Run tests
         run: |
+          python --version
           touch ~/.Xauthority  # workaround for https://github.com/python-xlib/python-xlib/issues/66
           coverage run -m xmlrunner -v --output-file test_output/test_results.xml
           coverage report