Recommended pre-push hook¶
If you want to reduce your PR turn-around time, I’d recommend adding a pre-push hook: this script will stop a push if the unit tests or linters fail, finding the failures before it hits TaskCluster (which takes forever to dig through the logs):
#!/bin/sh
./gradlew -q \
checkstyle \
ktlint \
pmd \
detektCheck \
app:assembleFocusArmDebug
# Tasks omitted because they take a long time to run:
# - unit test on all variants
# - UI tests
# - lint (compiles all variants)
To use it:
Create a file with these ^ contents (exclude the “`”) at
<repo>/.git/hooks/pre-push
Make it executable:
chmod 755 <repo>/.git/hooks/pre-push
And it will run before pushes. Notes:
Run
git push ... --no-verify
to push without making the checkIt takes ~30 seconds to run. If you think this hook takes too long, you can remove the unit test line and it becomes almost instant.