aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 352d736e45c1b0874b572385f50c9ae3f462754d (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
language: cpp

# BEGIN BUILD MATRIX
#
# Build matrix must be smaller on branch coverity_scan because quota allows
# only 5 Coverity Scan jobs at once. Thus we have different versions of this
# file on branch master and coverity_scan.
#
# Please keep this file as much in sync as possible to allow easy merging
# from master into coverity_scan and only have differences in the build
# matrix block.
#
# Check the difference as follows:
#   $ git checkout master
#   $ git checkout coverity_scan
#   $ git difftool master coverity_scan .travis.yml
os:
  - linux
  - osx

osx_image: xcode7

compiler:
  - clang
  - gcc

env:
  matrix:
    - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="shared"
    - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="static"
    - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="coverage"
    - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="sanitizer"
    - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="shared"
    - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="static"
    - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="coverage"
    - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="sanitizer"

    - TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="shared"
    - TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="static"
    - TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="shared"
    - TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="static"

    - TARGETOS="ios32" MODULES="all" BOOST="n" BUILD_MODE="static"
    - TARGETOS="ios64" MODULES="all" BOOST="n" BUILD_MODE="static"

matrix:
  exclude:
    - os: osx
      compiler: gcc

    # No boost on Linux because installing Boost is easier on OS X
    - os: linux
      env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="shared"
    - os: linux
      env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="static"
    - os: linux
      env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="coverage"
    - os: linux
      env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="sanitizer"
    - os: linux
      env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="shared"
    - os: linux
      env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="static"

    # No coverage and sanitizer on clang
    - compiler: clang
      env: TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="coverage"
    - compiler: clang
      env: TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="sanitizer"
    - compiler: clang
      env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="coverage"
    - compiler: clang
      env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="sanitizer"

    # No minimal builds on clang
    - compiler: clang
      env: TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="shared"
    - compiler: clang
      env: TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="static"
    - compiler: clang
      env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="shared"
    - compiler: clang
      env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="static"

    - os: linux
      env: TARGETOS="ios32" MODULES="all" BOOST="n" BUILD_MODE="static"
    - os: linux
      env: TARGETOS="ios64" MODULES="all" BOOST="n" BUILD_MODE="static"
# END BUILD MATRIX

cache:
  directories:
    - $HOME/.ccache

install:
  - ./src/scripts/ci/travis/install.sh

script:
  - if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then ./src/scripts/ci/travis/build.sh ; fi

after_success:
  - ./src/scripts/ci/travis/after_success.sh

notifications:
  email: botan-commits@lists.randombit.net

addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test
    packages:
    - ccache
    - g++-4.8
    - libssl-dev
    - libsqlite3-dev
    - zlib1g-dev
    - libbz2-dev
    - liblzma-dev
    - python2
    - python3

  coverity_scan:
    project:
      name: "randombit/botan"
    notification_email: lloyd@randombit.net
    build_command_prepend: "./configure.py --cc-bin=/usr/bin/g++-4.8"
    build_command: "make -j2"
    branch_pattern: coverity_scan