summaryrefslogtreecommitdiff
path: root/.github/workflows/main.yml
blob: 75468cbad5ab7ab322e56b430e35ff9534852927 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Python package

on: [push, pull_request]

jobs:
    test:

        runs-on: ubuntu-latest
        strategy:
            matrix:
                python-version: [2.7, 3.7, 3.8, 3.9, 3.11]

        steps:
            - uses: actions/checkout@v2
            - name: Set up Python ${{ matrix.python-version }}
              uses: actions/setup-python@v2
              with:
                  python-version: ${{ matrix.python-version }}
            - name: Install dependencies
              run: |
                  python -m pip install --upgrade pip
                  if [ -f dev-requirements.txt ]; then python -m pip install -r dev-requirements.txt; fi
            - name: Lint with flake8
              run: |
                  # stop the build if there are Python syntax errors or undefined names
                  python -mflake8 . --count --exclude six.py --select=E9,F63,F7,F82 --show-source --statistics
                  # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
                  python -mflake8 . --count --exit-zero --exclude six.py --max-complexity=10 --max-line-length=127 --statistics
            - name: Running the test suite
              run: |
                  set -x
                  python setup.py clean build
                  export PYTHONPATH=$(readlink -f build/lib.*)
                  python -munittest discover -v