language: c cache: ccache os: - linux compiler: - gcc 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: 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="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: packages: - file - cpio - libdb-dev - 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