NAME

Benchmark::Report::GitHub - submit a benchmark report from Travis-CI to GitHub wiki

SYNOPSIS

Let's call this t/benchmarking.pl.

#!/usr/bin/env perl
use strict;
use warnings;
use Benchmark::Report::GitHub;

my $gh = Benchmark::Report::GitHub->new_from_env;

$gh->add_benchmark(
   "Simple benchmark", -1, {
      implementation1 => sub { ... },
      implementation2 => sub { ... },
   },
);

$gh->add_benchmark(
   "Some other benchmark", -1, {
      implementation1 => sub { ... },
      implementation2 => sub { ... },
      implementation3 => sub { ... },
   },
);

print $gh->publish, "\n";

And in your .travis.yml:

env:
  global:
    - GH_NAME=username
    - GH_EMAIL=your@email.address
    - secure: "..."   # GH_TOKEN
after_success: perl -Ilib t/benchmarking.pl

DESCRIPTION

After a successful Travis build, this module will git pull your project's GitHub wiki, run some benchmarks and output them as markdown, and then git push the wiki contents back to GitHub.

Constructors

new(%attributes)
new_from_env

Attributes

travis_repo_slug

(e.g. "tobyink/p5-type-tiny")

gh_name
gh_email
gh_token

Methods

add_benchmark($name, $times, \%implementations)
publish(%options)

The supported options (all of which will be picked up from the environment, or a sane default provided if omitted) are:

perl_version
build_number
build_id
job_number
job_id
page
index_page
page_title

BUGS

Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Benchmark-Report-GitHub.

SEE ALSO

Benchmark, http://travis-ci.org/, http://github.com/.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

This software is copyright (c) 2014 by Toby Inkster.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.