diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 0376072..82ad4ab 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -13,9 +13,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: '3.x' - name: Install dependencies diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6a768f4..ec93a66 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,6 +1,7 @@ name: Tests on: + workflow_dispatch: push: branches: - master @@ -10,30 +11,37 @@ on: jobs: test: - name: Run tox on ${{ matrix.os }} for Python ${{ matrix.tox.py_version }} + name: Run tox on ${{ matrix.os }} for Python ${{ matrix.py_version }} runs-on: ${{ matrix.os }} strategy: + fail-fast: false + max-parallel: 5 matrix: os: [ubuntu-latest, macos-latest] - tox: + py_version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] + include: - py_version: '3.6' env: py36 - py_version: '3.7' env: py37 - py_version: '3.8' - env: py38,flake8,mypy,black + env: py38 - py_version: '3.9' env: py39 + - py_version: '3.10' + env: py310 + - py_version: '3.11' + env: py311 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 with: - python-version: ${{ matrix.tox.py_version }} - - uses: actions/cache@v2 + python-version: ${{ matrix.py_version }} + - uses: actions/cache@v3 with: path: .tox - key: ${{ matrix.os }}-${{ matrix.tox.python-version }}-${{ hashFiles('tox.ini') }}-${{ hashFiles('requirements-dev.txt') }} + key: ${{ matrix.os }}-${{ matrix.py_version }}-${{ hashFiles('tox.ini') }}-${{ hashFiles('requirements-dev.txt') }} - name: Install tox run: python3 -m pip install tox - name: Run tox - run: tox -q -p all -e ${{ matrix.tox.env }} + run: tox -q -p all -e ${{ matrix.env }},flake8,mypy,black diff --git a/tox.ini b/tox.ini index 4a5ade2..37c8e93 100644 --- a/tox.ini +++ b/tox.ini @@ -12,7 +12,7 @@ skip_covered = True show_missing = True [tox] -envlist = py3{6,7,8,9,10}, flake8, mypy, black, coverage +envlist = py3{6,7,8,9,10,11}, flake8, mypy, black, coverage skip_missing_interpreters = True [testenv] @@ -24,7 +24,7 @@ setenv = COVERAGE_FILE={toxworkdir}/.coverage.{envname} [testenv:coverage] -depends = py38, py39, py310 +depends = py38, py39, py310, py311 parallel_show_output = True skip_install = True setenv = COVERAGE_FILE={toxworkdir}/.coverage