diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 03444845..6a98a9c3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -73,6 +73,7 @@ jobs: - name: Build distribution and test installation shell: bash run: | + nox -s build nox -s test_wheel-${{ matrix.python-version }} --verbose nox -s test_sdist-${{ matrix.python-version }} --verbose diff --git a/noxfile.py b/noxfile.py index e99ad6a1..b2a9a602 100644 --- a/noxfile.py +++ b/noxfile.py @@ -3,7 +3,7 @@ import nox -@nox.session(python="3.11", reuse_venv=True) +@nox.session(venv_backend="mamba|conda", python="3.11", reuse_venv=True) def dev(session): session.conda_install("graphviz", channel="conda-forge") session.install("-r", "requirements/dev.txt") @@ -33,37 +33,39 @@ def tests(session): session.run("pytest", "-vv") +@nox.session(venv_backend="uv|virtualenv", reuse_venv=True) +def build(session): + session.install("build") + session.run("python", "-m", "build") + + @nox.session( - venv_backend="uv|virtualenv", + venv_backend="mamba|conda", python=["3.8", "3.9", "3.10", "3.11", "3.12"], reuse_venv=False, ) def test_wheel(session): - session.install("build") - session.run("python", "-m", "build") + session.conda_install("graphviz", channel="conda-forge") wheel_path = next(Path("dist").glob("*.whl")) session.install(f"erdantic@file://{wheel_path}") session.run("erdantic", "--version") @nox.session( - venv_backend="uv|virtualenv", + venv_backend="mamba|conda", python=["3.8", "3.9", "3.10", "3.11", "3.12"], reuse_venv=False, ) def test_sdist(session): - session.install("build") - session.run("python", "-m", "build") + session.conda_install("graphviz", channel="conda-forge") + sdist_path = next(Path("dist").glob("*.tar.gz")) session.install(f"erdantic@file://{sdist_path}") session.run("erdantic", "--version") -@nox.session( - venv_backend="uv|virtualenv", - python="3.11", - reuse_venv=True, -) +@nox.session(venv_backend="mamba|conda", python="3.11", reuse_venv=True) def docs(session): + session.conda_install("graphviz", channel="conda-forge") session.install("-r", "requirements/docs.txt") session.run("make", "docs")