diff options
Diffstat (limited to '.github/workflows/tox.yml')
-rw-r--r-- | .github/workflows/tox.yml | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml new file mode 100644 index 0000000..2c002a7 --- /dev/null +++ b/.github/workflows/tox.yml @@ -0,0 +1,80 @@ +# This workflow will install Python dependencies and run tox tests with a matrix of Python versions. + +name: CI + +on: [pull_request] + +jobs: + test: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + max-parallel: 4 + matrix: + tox-env: [py35, py36, py37, py38, pypy3] + include: + - tox-env: py35 + python-version: 3.5 + - tox-env: py36 + python-version: 3.6 + - tox-env: py37 + python-version: 3.7 + - tox-env: py38 + python-version: 3.8 + - tox-env: pypy3 + python-version: pypy3 + + env: + TOXENV: ${{ matrix.tox-env }} + + 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-get install libtidy-dev + python -m pip install --upgrade pip tox coverage codecov + - name: Run tox + run: python -m tox + - name: Upload Results + if: success() + uses: codecov/codecov-action@v1 + with: + file: ./coverage.xml + flags: unittests + name: ${{ matrix.tox-env }} + fail_ci_if_error: false + + lint: + runs-on: ubuntu-latest + strategy: + fail-fast: false + max-parallel: 4 + matrix: + tox-env: [flake8, pep517check, checkspelling, checklinks] + + env: + TOXENV: ${{ matrix.tox-env }} + + steps: + - uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v1 + with: + python-version: 3.7 + - name: Setup Node + uses: actions/setup-node@v1 + with: + node-version: '10' + - name: Install dependencies + run: | + python -m pip install --upgrade pip tox + if [[ "$TOXENV" == 'checklinks' ]]; then npm install -g markdown-link-check; fi + if [[ "$TOXENV" == 'checkspelling' ]]; then sudo apt-get install aspell aspell-en; fi + - name: Run tox + run: python -m tox + |