Files
pyeclib/tox.ini
Tim Burke cfa07823c1 Add Dockerfile to build manylinux wheels
To build,

   $ docker build . --tag pyeclib-build-wheel
   $ for v in cp27-cp27m cp27-cp27mu cp35-cp35m ; do
   > docker run --rm --env PYTHON_VERSION=$v --env UID=$UID \
   > --env GID=$(id -g) --volume $PWD:/output:Z pyeclib-build-wheel
   > done

It should create x86_64 wheels suitable for CPython 2.7 and 3.5+ that
include both liberasurecode and ISA-L libraries.

Note that the pack_wheel.py script is useful even without the manylinux
Docker container. It can even build self-contained wheels on OS X,
though I've only tested on an old x86_64 mac, not the new arm64 hotness.

Change-Id: Id0eb192da37dcc83646bffa9137c96b7749b179f
2024-09-26 12:18:56 -07:00

51 lines
1.3 KiB
INI

[tox]
envlist = py{27,35,36,37,38,39,310}-compilelibs,pep8,docs
[testenv]
deps =
-r{toxinidir}/test-requirements.txt
commands=
pytest -v test/
setenv = LIBERASURECODE_DIR={envdir}/liberasurecode
NASM_DIR={envdir}/nasm
ISAL_DIR={envdir}/isa-l
JERASURE_DIR={envdir}/jerasure
GFCOMPLETE_DIR={envdir}/gf-complete
passenv = LIBERASURECODE_REF
allowlist_externals =
compilelibs: {toxinidir}/tools/pip-install-with-liberasurecode.sh
install_command =
compilelibs: {toxinidir}/tools/pip-install-with-liberasurecode.sh {opts} {packages}
!compilelibs: pip install {opts} {packages}
[testenv:pep8]
skip_install = True
deps=
hacking
commands=
flake8 pyeclib/ setup.py test/ pack_wheel.py
[testenv:venv]
commands = {posargs}
[testenv:docs]
deps =
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -W -b html -d doc/build/doctrees doc/source doc/build/html
[testenv:pdf-docs]
deps = {[testenv:docs]deps}
allowlist_externals =
make
commands =
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[flake8]
# H101: Use TODO(NAME)
# H404: multi line docstring should start without a leading new line
# H405: multi line docstring summary not separated with an empty line
# W504: line break after binary operator
ignore = H101,H404,H405,W504