89 lines
2.1 KiB
YAML
89 lines
2.1 KiB
YAML
# This workflow will install dependencies and run tests/linters with a matrix of tox environments.
|
|
|
|
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- '**'
|
|
pull_request:
|
|
branches:
|
|
- '**'
|
|
|
|
jobs:
|
|
test:
|
|
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 4
|
|
matrix:
|
|
tox-env: [py37, py38, py39, py310, pypy37, pypy38, pypy39, pygments]
|
|
include:
|
|
- tox-env: py37
|
|
python-version: '3.7'
|
|
- tox-env: py38
|
|
python-version: '3.8'
|
|
- tox-env: py39
|
|
python-version: '3.9'
|
|
- tox-env: py310
|
|
python-version: '3.10'
|
|
- tox-env: pypy37
|
|
python-version: pypy-3.7
|
|
- tox-env: pypy38
|
|
python-version: pypy-3.8
|
|
- tox-env: pypy39
|
|
python-version: pypy-3.9
|
|
- tox-env: pygments
|
|
python-version: '3.7'
|
|
|
|
env:
|
|
TOXENV: ${{ matrix.tox-env }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v3
|
|
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]
|
|
|
|
env:
|
|
TOXENV: ${{ matrix.tox-env }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.7
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip tox
|
|
if [[ "$TOXENV" == 'checkspelling' ]]; then sudo apt-get install aspell aspell-en; fi
|
|
- name: Run tox
|
|
run: python -m tox
|