aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: e71e76d2a7956eb9942b975f0fe4bf009ac69041 (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
129
130
131
132
133
dist: trusty

sudo: required

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

git:
  depth: 5

env:
  global:
    # SONAR_TOKEN for accessing the SonarQube server
    - secure: "VezRbHFg6kllV5WG06M3tG3aHJaC3xrMylJ6RCVbL+uz2JeralVCqV7eIk4fVb9cu83Li+weEa0AJj0wkxpIUJ+vUh5F65L6gSWSbgHP7muOSVsmnEc6KvX4n3av/ZGe4geSmsxqh2pd/2xI1h7KioGRhKeqaZIdjVgWgGJW2iQ="
    # GITHUB_TOKEN for posting found issues as comments in the PR that's beeing analyzed by SonarQube
    - secure: "Th0mBSkUCDqu+EA6F7zA6DCSDZBNunfndANyq06BwaFlj71daWWjthwYFsfg3T5N2ZmI+PsULQQpOirCnJt1lbNHhMVJwZPkW0JnjoxbSNpSI2+nHv7+GO9X9WjK0LRFawiQu8WxmLMQDA+0oR0BERSFKc3gmbuav9fDfla0dXg="

  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="n" BUILD_MODE="sonarqube"
    - 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, sanitizer and sonarqube 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="n" BUILD_MODE="sonarqube"
    - 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:
  ccache: true
  directories:
    - $HOME/.sonar/cache

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:
  sonarqube: true

  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