View raw

1 { 2 "version": "v1", 3 "hooks": [ 4 { 5 "name": "Run tests after git commit", 6 "trigger": "PostToolUse", 7 "matcher": "execute_bash", 8 "action": { 9 "type": "command", 10 "command": "#!/bin/bash\nINPUT=$(cat)\nCOMMAND=$(echo \"$INPUT\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('tool_input',{}).get('command',''))\" 2>/dev/null)\nif ! echo \"$COMMAND\" | grep -qE 'git\\s+(commit|\\-c .* commit)'; then\n exit 0\nfi\ncd /home/blendux/git/ogit\nOUTPUT=$(opam exec -- dune runtest 2>&1)\nRC=$?\nif [ $RC -eq 0 ]; then\n COUNT=$(echo \"$OUTPUT\" | grep -oP '\\d+ tests run' | head -1)\n echo \"TESTS PASSED: $COUNT\"\nelse\n echo \"TEST FAILURE:\"\n echo \"$OUTPUT\" | grep -A2 '\\[FAIL\\]'\nfi\nexit 0", 11 "timeout": 120 12 } 13 } 14 ] 15 } 16