This is a bot that can be configured to watch for new commits to a repo, run unit tests for each commit, and notify developers of failed tests. Currently it only supports github repos. You must create a post_receive hook and point it at your bot. This will be automated via the GitHub API. At present it only supports notifications via IRC. Plans are to include email and web page outputs as well. Unit tests are run via TAP::Harness. To create your own bot, create a script with the following: ``` #!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/lib"; use Test::Bot::GitHub; my $bot = Test::Bot::GitHub->new_with_options( source_dir => "$ENV{HOME}/myproject", tests_dir => "t", notification_modules => [ 'IRC' ], port => 4000, force => 1, # overwrite local modifications? ); $bot->configure_notifications( irc_host => 'irc.int80.biz', irc_channel => '#int80', ); $bot->run; ``` If you specify force => 1, a `git clean -df` and `git checkout -f $commit` will be performed when running tests for a commit. This will delete untracked (and not ignored) files and changes, so be careful. If you are interested in using this program and would like to help develop it further, please let me know via github, email or IRC.