bbdispatch - Dispatch Test::BrewBuild builds to remote test servers.
Test::BrewBuild
Dispatch a default brewbuild test run on the two listed remote servers, using the repository you're currently working in:
brewbuild
bbdispatch -t 10.0.0.1:7800 -t 10.0.0.2:9999
Dispatch a custom command to a single remote tester:
bbdispatch -c "brewbuild -R" -t 10.0.0.1:7800
Have the remote testers test a specified repository:
bbdispatch -r https://github.com/user/repo-name -t 10.0.0.1:7800
Add debugging to any other command string:
bbdispatch [...] -d 0-7
Set maximum number of concurrent testers to communicate with (default is 4):
bbdispatch [...] -f 8
Example output of a basic run where I'm in a git repository directory:
bbdispatch -t localhost -t 192.168.252.90 -t 192.168.252.96 -t 192.168.252.95 192.168.252.95 - x86_64-linux 5.22.1 :: PASS 192.168.252.90 - MSWin32-x64-multi-thread 5.18.4 :: PASS 5.22.1 :: PASS localhost - MSWin32-x64-multi-thread 5.22.1 :: FAIL 192.168.252.96 - amd64-freebsd 5.22.1 :: PASS 5.23.7 :: PASS 5.8.9 :: FAIL 5.10.1 :: FAIL 5.18.4 :: FAIL
All FAIL log files are stored locally when dispatching to identify the issues. If I'm letting BrewBuild determine the repository, the files will be stored in ./bblog. If a repo is specified, they'll be put into ~/brewbuild/repo/bblog.
./bblog
~/brewbuild/repo/bblog
192.168.252.96_5.10.1-FAIL.bblog 192.168.252.96_5.18.4-FAIL.bblog 192.168.252.96_5.8.9-FAIL.bblog localhost_5.22.1-FAIL.bblog
This script dispatches brewbuild build sets to pre-configured Test::BrewBuild::Tester test servers.
By default, we try to look up the repository information from your current working directory. If it can't be found, you must supply it on the command line or within the configuration file.
A list of testers to dispatch to. Can be sent in multiple times. Format of the testers is IP:Port. If Port is ommitted, we'll default to 7800.
IP:Port
Port
7800
Testers can also be configured within the config file. Testers set on the CLI will override those.
By default, the testers will simply run brewbuild. You can send in any brewbuild commands here within quotes, so long as the first argument is brewbuild.
This option will override anything in the configuration file.
By default, if a repository isn't specified in the config file, we'll attempt to locate the repository information from the current working directory.
Set this to the repo link to override both.
Set to 0-7 to enable debug logging.
By default, we maintain four (4) testers concurrently. Pass an integer to this argument to change the default number of concurrent testers.
Steve Bertrand, <steveb at cpan.org>
<steveb at cpan.org>
Any and all feedback and help is appreciated. A Pull Request is the preferred method of receiving changes (https://github.com/stevieb9/p5-test-brewbuild), but regular patches through the bug tracker, or even just email discussions are welcomed.
https://github.com/stevieb9/p5-test-brewbuild/issues
You can find documentation for this script and its associated module with the perldoc command.
perldoc bbdispatch perldoc Test::BrewBuild::Dispatch
perldoc brewbuild perldoc Test::BrewBuild perldoc bbtester perldoc Test::BrewBuild::Tester perldoc Test::BrewBuild::brewbuild.conf
Copyright 2016 Steve Bertrand.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install Test::BrewBuild, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::BrewBuild
CPAN shell
perl -MCPAN -e shell install Test::BrewBuild
For more information on module installation, please visit the detailed CPAN module installation guide.