Makefile 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. .PHONY: check-black check-isort check-pylint static-analysis test sdist wheel release pre-release clean
  2. PATH_DADMIN := $(shell which django-admin)
  3. sdist:
  4. python setup.py sdist
  5. wheel:
  6. python setup.py bdist_wheel --universal
  7. release: clean sdist wheel
  8. twine upload dist/*
  9. pre-release: sdist wheel
  10. twine upload --repository-url https://test.pypi.org/legacy/ dist/*
  11. clean:
  12. find . | grep -E '(__pycache__|\.pyc|\.pyo$)' | xargs rm -rf
  13. rm -rf build
  14. rm -rf dist
  15. rm -rf *.egg-info
  16. check-black:
  17. @echo "--> Running black checks"
  18. @black --check --diff .
  19. check-isort:
  20. @echo "--> Running isort checks"
  21. @isort --check-only .
  22. check-pylint:
  23. @echo "--> Running pylint checks"
  24. @pylint `git ls-files '*.py'`
  25. check-yamllint:
  26. @echo "--> Running yamllint checks"
  27. @yamllint .
  28. lint: check-black check-isort check-pylint check-yamllint
  29. # Format code
  30. .PHONY: fmt
  31. fmt:
  32. @echo "--> Running isort"
  33. @isort .
  34. @echo "--> Running black"
  35. @black .
  36. # Test
  37. .PHONY: test
  38. test:
  39. @echo "--> Running tests"
  40. PYTHONWARNINGS=all PYTHONPATH=".:tests:${PYTHONPATH}" django-admin test --settings=tests.settings
  41. coverage:
  42. @echo "--> Running coverage"
  43. PYTHONWARNINGS=all PYTHONPATH=".:tests:${PYTHONPATH}" coverage run --source='.' $(PATH_DADMIN) test --settings=tests.settings