This is intended to be a manually run, non-CI script. Use tox to test the linters against all python versions from 3.6 to 3.10. This will only work if you actually have those versions installed locally, but Fedora makes this easy: > sudo dnf install python3.6 python3.7 python3.8 python3.9 python3.10 Unlike the pipenv tests (make venv-check), this pulls "whichever" versions of the python packages, so they are unpinned and may break as time goes on. In the case that breakages are found, setup.cfg should be amended accordingly to avoid the bad dependant versions, or the code should be amended to work around the issue. With confidence that the tests pass on 3.6 through 3.10 inclusive, add the appropriate classifiers to setup.cfg to indicate which versions we claim to support. Tox 3.18.0 or above is required to use the 'allowlist_externals' option. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Cleber Rosa <crosa@redhat.com> Tested-by: Cleber Rosa <crosa@redhat.com> Message-id: 20210527211715.394144-31-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
49 lines
1.4 KiB
Makefile
49 lines
1.4 KiB
Makefile
.PHONY: help venv venv-check check clean distclean develop
|
|
|
|
help:
|
|
@echo "python packaging help:"
|
|
@echo ""
|
|
@echo "make venv: Create pipenv's virtual environment."
|
|
@echo " NOTE: Requires Python 3.6 and pipenv."
|
|
@echo " Will download packages from PyPI."
|
|
@echo " Hint: (On Fedora): 'sudo dnf install python36 pipenv'"
|
|
@echo ""
|
|
@echo "make venv-check: run linters using pipenv's virtual environment."
|
|
@echo " Hint: If you don't know which test to run, run this one!"
|
|
@echo ""
|
|
@echo "make develop: Install deps for 'make check', and"
|
|
@echo " the qemu libs in editable/development mode."
|
|
@echo ""
|
|
@echo "make check: run linters using the current environment."
|
|
@echo ""
|
|
@echo "make check-tox: run linters using multiple python versions."
|
|
@echo ""
|
|
@echo "make clean: remove package build output."
|
|
@echo ""
|
|
@echo "make distclean: remove venv files, qemu package forwarder,"
|
|
@echo " built distribution files, and everything"
|
|
@echo " from 'make clean'."
|
|
|
|
venv: .venv
|
|
.venv: Pipfile.lock
|
|
@PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated
|
|
@touch .venv
|
|
|
|
venv-check: venv
|
|
@pipenv run make check
|
|
|
|
develop:
|
|
pip3 install -e .[devel]
|
|
|
|
check:
|
|
@avocado --config avocado.cfg run tests/
|
|
|
|
check-tox:
|
|
@tox
|
|
|
|
clean:
|
|
python3 setup.py clean --all
|
|
|
|
distclean: clean
|
|
rm -rf qemu.egg-info/ .venv/ .tox/ dist/
|