This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make descriptions more self-documenting
[perl5.git] / .travis.yml
index d1fdd23..cd235e7 100644 (file)
@@ -1,4 +1,5 @@
 language: c
+cache: ccache
 
 os:
   - linux
@@ -8,17 +9,34 @@ 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:
+        - CONFIGURE_ARGS='-Uusethreads'
+        - CONFIGURE_ARGS='-Dusethreads'
+
+# only use gcc on linux, and only use clang on osx for now
+matrix:
+  exclude:
+  - compiler: clang
+    os: linux
+  - compiler: gcc
+    os: osx
 
 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:
@@ -29,3 +47,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/p5h/perl5demo/commit/%{commit}" # adjust this url to use the production repo
+    on_success: change # default: always
+    on_failure: always # default: always
+#    use_notice: true
\ No newline at end of file