summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 8aebd2ba454ff386dec5479b0ed9d8e62d3c0b01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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:
        - JOBS=4
    matrix:
        - CONFIGURE_ARGS='-Uusethreads'
        - CONFIGURE_ARGS='-Dusethreads'
        - CONFIGURE_ARGS='-DPERL_GLOBAL_STRUCT'
        - CONFIGURE_ARGS='-DPERL_GLOBAL_STRUCT_PRIVATE'
        - CONFIGURE_ARGS='-Duseshrplib -Dusesitecustomize'
        - CONFIGURE_ARGS='-Duserelocatableinc'

# 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="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:
        packages:
            - file
            - cpio
            - libdb-dev
            - 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