=encoding utf-8

=head1 NAME

Dist::Zilla::TravisCI - Travis CI plugins for your DZIL-based distribution

=head1 SYNOPSIS

    [@Prereqs]
    [TravisYML]
    [Git::CommitBuild]
    release_branch  = build/%b
    release_message = Release build of v%v (on %b)
 
    [@Git]
    allow_dirty = dist.ini
    allow_dirty = README
    allow_dirty = .travis.yml
    push_to = origin
    push_to = origin build/master:build/master

=head1 DESCRIPTION

=head2 What is Travis CI?

L<Travis CI|https://travis-ci.org/> is pure awesome!  Travis is a free and open source CI platform that
hooks directly into L<GitHub|https://github.com/>.  It's extremely easy to configure, tests on every
major 5.10+ Perl version, and will notify you of test results, either through email or IRC.  (Yes, a bot
will jump into an IRC room, tell you the results, and bounce.  How cool is that?!)

If you're not familiar with CI platforms, this is your chance to get your feet wet.  CI stands for
L<Continuous Integration|http://en.wikipedia.org/wiki/Continuous_integration>.  This kind of testing is
designed around testing your code every time you commitE<sol>push a change.  In this case, this is a hook
into Git via GitHub to make sure that any change you make is going to pass tests.

=head2 Perl is already a "test-heavy" community.  What does this add?

This is true.  Travis CI has a much more profound use with languages without a deep-seated testing
platform like Perl's tE<sol>* directory (and its hooks with CPAN).

However, adding Travis CI to your test platform has its benefits:

=over

=item *

Testing in a plain vanilla environment, which your work environment is most definitely B<NOT>.

=item *

Testing with Perl 5.10, 5.12, 5.14, 5.16, and beyond, all at the same time.

=item *

Testing your B<DZIL> environment, which not even CPAN can do.

=item *

Use Windows or some other non-Linux OS for your work environment?  Great.  Travis runs on Ubuntu, so
you can confirm that it works on Linux.  (Eventually, Travis will support other OSs, like Windows, to
make this even sweeter!)

=item *

L<Minimum Version Dependency Testing|Dist::Zilla::TravisCI::MVDT>

=item *

Public announcements of test results.  If somebody breaks something in master, make sure EVERYBODY
knows it!

=item *

If nothing else, you get many more tests before it even touchs CPAN.

=back

=head2 What about the automated CPAN testers?

They're great!  But they are also a bit too late in the process.  Sure, you can fix what you find after
you've found something, but you want some extra insurance that your production release is actually
production ready.

Development releases on CPAN also work, but you have no idea what is on those CPAN tester platforms.
Does it cover the full gamut of Perl versions, or are they just grabbing the latest?  Are they all 
using the latest module dependencies (which may not be want you want)?

You have more control over your Travis CI platform, so you can set up the environment they way you want
it.  That's not to say that the massive CPAN tester army isn't a great boon for Perl, but in the fight
against bugs, you want every weapon available.

=head2 This sounds complicated...

Actually, it's the polar opposite of complicated.  This is literally a full guide on how to make it work:

=over

=item 1.

L<Sign into Travis CI|http://travis-ci.org/users/auth/github> with your GitHub account.

=item 2.

Flip a bit on your distro.

=item 3.

Put the L<TravisYML|Dist::Zilla::Plugin::TravisYML> plugin in your dist.ini.

=back

There's some extra configuration you can do: build branches, MVDT, etc.  But, that's the basic setup.
Easy!

=head1 DONATIONS

Travis CI is a completely free service, and they put in a lot of hard work
to make it what it is.

L<Please donate!|https://love.travis-ci.org/>

=head1 TODO

=over

=item *

B<MVDT> - Yes, I actually need to finish MVDT on my own distros.  I have an excuse, though: I need this
in CPAN in order for Travis to download it.  Hopefully, I can get this finished soon now...

=item *

B<Tests> - This has actually been well-tested via other modules, but I still need to add in a test
platform here.  Kinda sad, actually...

=back

=head1 AVAILABILITY

The project homepage is L<https://github.com/SineSwiper/Dist-Zilla-TravisCI/wiki>.

The latest version of this module is available from the Comprehensive Perl
Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
site near you, or see L<https://metacpan.org/module/Dist::Zilla::TravisCI/>.

=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan

=head1 SUPPORT

=head2 Internet Relay Chat

You can get live help by using IRC ( Internet Relay Chat ). If you don't know what IRC is,
please read this excellent guide: L<http://en.wikipedia.org/wiki/Internet_Relay_Chat>. Please
be courteous and patient when talking to us, as we might be busy or sleeping! You can join
those networks/channels and get help:

=over 4

=item *

irc.perl.org

You can connect to the server at 'irc.perl.org' and join this channel: #distzilla then talk to this person for help: SineSwiper.

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests via L<https://github.com/SineSwiper/Dist-Zilla-TravisCI/issues>.

=head1 AUTHOR

Brendan Byrd <BBYRD@CPAN.org>

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 by Brendan Byrd.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)

