HOOK_NAME=pre-push HOOK_PATH=.git/hooks/$(HOOK_NAME) pre_hook: @echo "Setting up pre-push hook..." @rm -f $(HOOK_PATH) @echo '#!/bin/sh' >> $(HOOK_PATH) @echo 'echo "Running tests..."' >> $(HOOK_PATH) @echo 'go test ./...' >> $(HOOK_PATH) @echo 'if [ $$? -ne 0 ]; then' >> $(HOOK_PATH) @echo ' echo "Tests failed, push aborted."' >> $(HOOK_PATH) @echo ' exit 1' >> $(HOOK_PATH) @echo 'fi' >> $(HOOK_PATH) @echo 'exit 0' >> $(HOOK_PATH) @chmod +x $(HOOK_PATH) @echo "Pre-push hook set successfully."