diff --git a/Makefile b/Makefile index a0f163a36..d22f5ab7f 100644 --- a/Makefile +++ b/Makefile @@ -29,20 +29,20 @@ APPNAME=tahoe-lafs default: @echo "no default target" -.PHONY: build -## Set up and build for local development -build: .tox/log/create-venvs.log .git/hooks/pre-commit .git/hooks/pre-push +.PHONY: install-vcs-hooks +## Install the VCS hooks to run linters on commit and all tests on push +install-vcs-hooks: .git/hooks/pre-commit .git/hooks/pre-push .PHONY: test ## Run all tests and code reports -test: build +test: .tox/log/create-venvs.log # Run codechecks first since it takes the least time to report issues early. tox --develop -e codechecks # Run all the test environments in parallel to reduce run-time tox --develop -p auto -e 'py27,py36,pypy27' .PHONY: test-py3-all ## Run all tests under Python 3 -test-py3-all: build +test-py3-all: .tox/log/create-venvs.log tox --develop -e py36 allmydata # This is necessary only if you want to automatically produce a new diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst index 51c7f6da7..dbd7d6438 100644 --- a/docs/INSTALL.rst +++ b/docs/INSTALL.rst @@ -286,7 +286,16 @@ result in a "all tests passed" mesage:: PASSED (skips=7, expectedFailures=3, successes=1176) __________________________ summary ___________________________________ py27: commands succeeded - congratulations :) + congratulations :) + +You may also install VCS/git hooks to run linters and code checks to catch +common errors before each commit and to run the full self-test suite to find +less obvious regressions before each push to a remote. Not that running the +full self-test suite takes several minutes to expecting pushing to take some +time. If you can't or don't want to wait for the hooks in some cases, use +the ``--no-verify`` option to ``git commit ...`` or ``$ git push ...``:: + + $ make install-vcs-hooks Common Problems ===============