This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
re-work travis cases to test more variety
[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         # exercise a variety of build options
21         # threads often cause build issues
22         - CONFIGURE_ARGS='-Uusethreads'
23         - CONFIGURE_ARGS='-Dusethreads'
24         # it's easy to miss dVAR
25         - CONFIGURE_ARGS='-DPERL_GLOBAL_STRUCT_PRIVATE'
26         # test scripts can be sensitive to PERL_UNICODE, and check long doubles
27         - CONFIGURE_ARGS='-Duseshrplib -Dusesitecustomize -Duselongdouble' PERL_UNICODE='' LANG='en_US.UTF-8'
28         # we've rarely had a problem with non-Englush locales, and exercise quadmath
29         - CONFIGURE_ARGS='-Duseshrplib -Dusequadmath -Dusecbacktrace -Dusethreads' PERL_UNICODE='' LANG='de_DE.UTF-8'
30
31 matrix:
32   fast_finish: true
33
34 script:
35   - ./Configure -des -Dusedevel -Uversiononly -Dcc="ccache $CC" $CONFIGURE_ARGS -Dprefix=$HOME/perl-blead -DDEBUGGING
36 # all script commands are always run
37 # rather than using one very long oneliner using '&&', just always check the build status
38   - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then TEST_JOBS=$JOBS make -j$JOBS test_harness_notty; fi
39   - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then make -j$JOBS install; fi
40   - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then $HOME/perl-blead/bin/perlivp; fi
41
42 addons:
43     apt:
44         packages:
45             - file
46             - cpio
47             - libdb-dev
48             - libgdbm-dev
49             - zlib1g-dev
50             - libbz2-dev
51
52 notifications:
53 ## use dedicated email for smoking ?
54 #  email:
55 #    recipients:
56 #      - perl5-porters@perl.org
57 #    on_success: never  # default: change
58 #    on_failure: always # default: always
59   irc:
60     nick: travisci
61     channels:
62       - "irc.perl.org#p5p-qa"
63 #      - "irc.perl.org#bot-test"
64     template:
65       - "Report for %{repository} (%{commit}) from %{author} (%{elapsed_time})"
66       - "Status: %{message}"
67       - "Build URL: %{build_url}"
68       - "GitHub URL: https://github.com/p5h/perl5demo/commit/%{commit}" # adjust this url to use the production repo
69     on_success: change # default: always
70     on_failure: always # default: always
71 #    use_notice: true