loop forever sleep for 5 minutes check versioning system for new deliveries if new deliveries since last testbot run get list of developers who delivered foreach developer who delivered send 'test started' email checkout code based on last delivery execute build if build problems foreach team member send 'build problems' email redo loop execute smoke test if smoke test problems foreach team member send 'smoke test problems' email redo loop foreach developer who delivered send 'test successful' email redo loop
loop forever sleep for 5 minutes check versioning system for new deliveries if new deliveries since last testbot run get list of developers who delivered drop 'build in progress' cookie (target.current) foreach developer who delivered send 'test started' email checkout code based on last delivery execute build if build major problems drop 'build major problems' cookie (target.lkb) foreach team member send 'build problems' email redo loop if build minor problems drop 'build minor problems' cookie (target.lkb) foreach team member, architect, project lead send 'build minor problems' email redo loop execute smoke test if smoke test problems drop 'smoke test problems' cookie (target.lkb) foreach team member send 'smoke test problems' email redo loop drop 'test successful' cookie (target.lkgb) remove 'build in progress' cookie (target.current) foreach developer who delivered send 'test successful' email redo loop