diff --git a/doc/contributing.rst b/doc/contributing.rst index 5ca9904..2d1f54e 100644 --- a/doc/contributing.rst +++ b/doc/contributing.rst @@ -251,6 +251,32 @@ Then you can run the following command:: nox -s gendoc +Updating ASSIMP +--------------- + +ASSIMP is the C++ library used by YOGA to manipulate 3D models. To update it, +first check the latest version tag on the project's repo : + +* https://github.com/assimp/assimp/tags + +Then go to the assimp subfolder and checkout the latest release tag:: + + cd assimp/ + git fetch + git checkout vX.Y.Z + cd .. + +Then, run tests to ensure YOGA still work:: + + nox -s test + +Finally, check we are still able to build a wheel from the sdist package:: + + nox -s test_build_wheel + +If the build fails because of a missing file, add it in ``MANIFEST.in``. + + .. _Python: https://www.python.org/ .. _CFFI: https://cffi.readthedocs.io/en/latest/ diff --git a/noxfile.py b/noxfile.py index e502a6e..45b7eba 100644 --- a/noxfile.py +++ b/noxfile.py @@ -8,6 +8,8 @@ PYTHON_FILES = [ "noxfile.py", ] +PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"] + @nox.session(reuse_venv=True) def lint(session): @@ -42,13 +44,19 @@ def black_fix(session): session.run("black", *PYTHON_FILES) -@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"], reuse_venv=True) +@nox.session(python=PYTHON_VERSIONS, reuse_venv=True) def test(session): session.install("pytest") session.install(".") session.run("pytest", "-v", "test") +@nox.session(reuse_venv=False) +def test_build_wheel(session): + session.install("build") + session.run("python", "-m", "build") + + @nox.session(reuse_venv=True) def gendoc(session): session.install("sphinx", "sphinx-rtd-theme")