This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regcomp.c: Remove memory leak
[perl5.git] / .travis.yml
index aeee619..df0d5cf 100644 (file)
@@ -1,29 +1,41 @@
 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:
     global:
-        - PERL_BUILD_PACKAGING=1
+        - JOBS=4
     matrix:
+        # exercise a variety of build options
+        # threads often cause build issues
         - CONFIGURE_ARGS='-Uusethreads'
         - CONFIGURE_ARGS='-Dusethreads'
+        # 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:
-  exclude:
-  - compiler: clang
-    os: linux
-  - compiler: gcc
-    os: osx
+  fast_finish: true
 
 script:
-  - ./Configure -des -Dusedevel -Uversiononly -Dcc=$CC $CONFIGURE_ARGS -Dprefix=$HOME/perl-blead -DDEBUGGING && TEST_JOBS=8 make -j8 test_harness_notty && make -j8 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:
@@ -34,3 +46,24 @@ addons:
             - 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