repo_observer.py
dispatcher.py
test_runner.py
update_repo.sh
test_runner_script.sh
New commit?
Yes
No
Wait 5 seconds
and repeat
runner_checker(...)
redistribute(...)
sends 'dispatch'
message with
commit id
handle(...)
sends 'runtests'
message with
commit id
dispatcher_checker(...)
handle(...)
sends 'results' message with
commit id, byte length, and
results output
handle(...)
Stores results
as a file
Legend:
In process action
socket message
thread for handling
socket message
thread started at
server start up