diff options
Diffstat (limited to '.github/workflows/tox.yml')
-rw-r--r-- | .github/workflows/tox.yml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml new file mode 100644 index 0000000..e2004ad --- /dev/null +++ b/.github/workflows/tox.yml @@ -0,0 +1,88 @@ +# 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 |