language: c
+cache: ccache
os:
- linux
- - osx
compiler:
- gcc
- - clang
+
+install:
+ - git fetch --unshallow --tags # t/porting/cmp_version.t
+ # install & enable ccache on osx
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install ccache; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi
env:
- - CONFIGURE_ARGS='-Uusethreads'
- - CONFIGURE_ARGS='-Dusethreads'
- - CONFIGURE_ARGS='-Duselongdouble'
- - CONFIGURE_ARGS='-Duse64bitall'
- - CONFIGURE_ARGS='-Dusethreads -Duselongdouble'
- - CONFIGURE_ARGS='-Dusethreads -Duse64bitall'
- - CONFIGURE_ARGS='-Dusethreads -Duse64bitall -Duselongdouble'
+ global:
+ - JOBS=4
+ matrix:
+ # exercise a variety of build options
+ # threads often cause build issues
+ - CONFIGURE_ARGS='-Uusethreads'
+ - CONFIGURE_ARGS='-Dusethreads'
+ # it's easy to miss dVAR
+ - CONFIGURE_ARGS='-DPERL_GLOBAL_STRUCT_PRIVATE'
+ # test scripts can be sensitive to PERL_UNICODE, and check long doubles
+ - CONFIGURE_ARGS='-Duseshrplib -Dusesitecustomize -Duselongdouble' PERL_UNICODE='' LANG='en_US.UTF-8'
+ # we've rarely had a problem with non-Englush locales, and exercise quadmath
+ - CONFIGURE_ARGS='-Duseshrplib -Dusequadmath -Dusecbacktrace -Dusethreads' PERL_UNICODE='' LANG='de_DE.UTF-8'
+
+matrix:
+ fast_finish: true
script:
- - ./Configure -des -Dusedevel -Uversiononly -Dcc=$CC $CONFIGURE_ARGS -Dprefix=$HOME/perl-blead -DDEBUGGING && TEST_JOBS=4 make -j4 test_harness && make install && $HOME/perl-blead/bin/perlivp
+ - ./Configure -des -Dusedevel -Uversiononly -Dcc="ccache $CC" $CONFIGURE_ARGS -Dprefix=$HOME/perl-blead -DDEBUGGING
+# all script commands are always run
+# rather than using one very long oneliner using '&&', just always check the build status
+ - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then TEST_JOBS=$JOBS make -j$JOBS test_harness_notty; fi
+ - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then make -j$JOBS install; fi
+ - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then $HOME/perl-blead/bin/perlivp; fi
addons:
apt:
- libgdbm-dev
- zlib1g-dev
- libbz2-dev
+
+notifications:
+## use dedicated email for smoking ?
+# email:
+# recipients:
+# - perl5-porters@perl.org
+# on_success: never # default: change
+# on_failure: always # default: always
+ irc:
+ nick: travisci
+ channels:
+ - "irc.perl.org#p5p-qa"
+# - "irc.perl.org#bot-test"
+ template:
+ - "Report for %{repository} (%{commit}) from %{author} (%{elapsed_time})"
+ - "Status: %{message}"
+ - "Build URL: %{build_url}"
+ - "GitHub URL: https://github.com/%{repository_slug}/commit/%{commit}"
+ on_success: change # default: always
+ on_failure: always # default: always
+# use_notice: true