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