Here be unicorns
[perl.git] / .travis.yml
1 language: c
2 cache: ccache
3
4 os:
5   - linux
6   - osx
7
8 compiler:
9   - gcc
10   - clang
11
12 install:
13   - git fetch --unshallow --tags # t/porting/cmp_version.t
14   # install & enable ccache on osx
15   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install ccache; fi
16   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi
17
18 env:
19     global:
20         - JOBS=4
21     matrix:
22         - CONFIGURE_ARGS='-Uusethreads'
23         - CONFIGURE_ARGS='-Dusethreads'
24
25 # only use gcc on linux, and only use clang on osx for now
26 matrix:
27   exclude:
28   - compiler: clang
29     os: linux
30   - compiler: gcc
31     os: osx
32
33 script:
34   - ./Configure -des -Dusedevel -Uversiononly -Dcc="ccache $CC" $CONFIGURE_ARGS -Dprefix=$HOME/perl-blead -DDEBUGGING
35 # all script commands are always run
36 # rather than using one very long oneliner using '&&', just always check the build status
37   - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then TEST_JOBS=$JOBS make -j$JOBS test_harness_notty; fi
38   - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then make -j$JOBS install; fi
39   - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then $HOME/perl-blead/bin/perlivp; fi
40
41 addons:
42     apt:
43         packages:
44             - file
45             - cpio
46             - libdb-dev
47             - libgdbm-dev
48             - zlib1g-dev
49             - libbz2-dev
50
51 notifications:
52 ## use dedicated email for smoking ?
53 #  email:
54 #    recipients:
55 #      - perl5-porters@perl.org
56 #    on_success: never  # default: change
57 #    on_failure: always # default: always
58   irc:
59     nick: travisci
60     channels:
61       - "irc.perl.org#p5p-qa"
62 #      - "irc.perl.org#bot-test"
63     template:
64       - "Report for %{repository} (%{commit}) from %{author} (%{elapsed_time})"
65       - "Status: %{message}"
66       - "Build URL: %{build_url}"
67       - "GitHub URL: https://github.com/p5h/perl5demo/commit/%{commit}" # adjust this url to use the production repo
68     on_success: change # default: always
69     on_failure: always # default: always
70 #    use_notice: true