summaryrefslogtreecommitdiffstats
path: root/.github/workflows/test.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/test.yaml')
-rw-r--r--.github/workflows/test.yaml40
1 files changed, 40 insertions, 0 deletions
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
new file mode 100644
index 0000000..ef806cf
--- /dev/null
+++ b/.github/workflows/test.yaml
@@ -0,0 +1,40 @@
+name: test
+
+on:
+ push: # any branch
+ pull_request:
+ branches: [master]
+
+jobs:
+ test-ubuntu:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ python-version: [3.6, 3.7, 3.8, 3.9, "3.10"]
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v1
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Install Dependencies
+ run: |
+ sudo apt remove python3-pip
+ python -m pip install --upgrade pip
+ python -m pip install . black isort mypy pytest readme_renderer
+ python -m pip install . types-dataclasses # Needed for Python 3.6
+ pip list
+ - name: Type Checker
+ run: |
+ mypy ptpython
+ isort -c --profile black ptpython examples setup.py
+ black --check ptpython examples setup.py
+ if: matrix.python-version != '3.6'
+ - name: Run Tests
+ run: |
+ ./tests/run_tests.py
+ - name: Validate README.md
+ # Ensure that the README renders correctly (required for uploading to PyPI).
+ run: |
+ python -m readme_renderer README.rst > /dev/null