diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index b349947..538a204 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -25,16 +25,26 @@ jobs: - pypy3 - pypy2 steps: + - name: Setup graphviz + uses: ts-graphviz/setup-graphviz@v1 + - name: Setup python for tox + uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install tox + run: python -m pip install tox - name: Setup python for test ${{ matrix.py }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.py }} - uses: actions/checkout@v2 - - name: Setup graphviz - uses: ts-graphviz/setup-graphviz@v1 - - name: Install dev requirements - run: pip install -r dev-requirements.txt - - name: Install project - run: pip install .[graphviz] + - name: Pick tox environment to run + run: | + import subprocess; import json + major, minor, impl = json.loads(subprocess.check_output(["python", "-c", "import json; import sys; import platform; print(json.dumps([sys.version_info[0], sys.version_info[1], platform.python_implementation()]));"], universal_newlines=True)) + print('::set-env name=TOXENV::' + ("py" if impl == "CPython" else "pypy") + ("{}{}".format(major, minor) if impl == "CPython" else ("3" if major == 3 else ""))) + shell: python + - name: Setup test suite + run: tox -vv --notest - name: Run test suite - run: pytest -v tests + run: tox --skip-pkg-install diff --git a/dev-requirements.txt b/dev-requirements.txt deleted file mode 100644 index d214e59..0000000 --- a/dev-requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -flake8 -graphviz -pip>=8.0.2 -pytest -pytest-cov -tox>=3 -virtualenv>=20,<21 -mock;python_version<"3" diff --git a/tox.ini b/tox.ini index 03e304e..62958cb 100644 --- a/tox.ini +++ b/tox.ini @@ -22,3 +22,5 @@ deps = pytest-cov virtualenv>=20,<21 mock;python_version<"3" +extras = + graphviz