Created
August 19, 2010 01:44
-
-
Save AlexAstroCat/536765 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set -ex | |
git clean -dfx | |
echo "Setup dependancies" | |
eval $(perl -Mlocal::lib=support) | |
wget -q -O - http://cpanmin.us | perl - --notest App::cpanminus | |
./support/bin/cpanm --notest \ | |
CPAN::Uploader \ | |
Module::Install \ | |
TAP::Formatter::JUnit | |
./support/bin/cpanm --installdeps --notest . | |
echo "Setup environment" | |
export OUTPUT=$WORKSPACE/output | |
mkdir -p $OUTPUT | |
export AUTOMATED_TESTING=1 | |
export PERL_MM_USE_DEFAULT=1 | |
export PERL_TEST_HARNESS_DUMP_TAP=$OUTPUT | |
export HARNESS_PERL_SWITCHES=-MDevel::Cover=-silent,off,-summary,off | |
export HARNESS_OPTIONS=j5 | |
export TEST_VERBOSE=1 | |
export TEST_POD=1 | |
echo "Build package" | |
perl Makefile.PL | |
make | |
echo "Test package" | |
prove --merge --shuffle --timer --blib \ | |
--formatter TAP::Formatter::JUnit > $OUTPUT/tests.xml \ | |
|| echo "*** Failed test cases"; | |
EXIT_STATUS=$? | |
echo "Make coverage" | |
(cd output; prove --nocolor --exec 'cat' $OUTPUT/t/*.t) | |
cover -select_re blib/lib -ignore_re '^t\/' -ignore_re '\/support\/' | |
if [ $EXIT_STATUS -ne 0 ]; | |
then | |
echo "Exiting with $EXIT_STATUS" | |
exit $EXIT_STATUS | |
fi | |
echo "Make distribution" | |
make dist | |
echo "Publish distribution to CPAN" | |
PACKAGE_NAME=$(perl -MYAML=LoadFile -e "print LoadFile('META.yml')->{name}") | |
PACKAGE_CLASS=$(echo $PACKAGE_NAME | sed -e 's/-/::/g') | |
NEW_VERSION=$(perl -MYAML=LoadFile -e "print LoadFile('META.yml')->{version}") | |
CUR_VERSION=$(wget -q -O - http://cpanmetadb.appspot.com/v1.0/package/$PACKAGE_NAME | \ | |
perl -MYAML=Load -e '$data=join("\n",<>); print Load($data)->{version} if $data') | |
if [ -n $NEW_VERSION ] && [ -n $CUR_VERSION ] && \ | |
[ $(echo "$NEW_VERSION > $CUR_VERSION" | bc) -eq 1 ]; | |
then | |
./support/bin/cpan-upload $PACKAGE_NAME-*.tar.gz | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment