summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 2f3ffe355c9c40046a7a5f3f843f940c7b236bc8 (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
# Travis-CI Build for libgit2
# see travis-ci.org for details

language: c

os:
  - linux
  - osx

compiler:
  - gcc
  - clang

# Settings to try
env:
 global:
  - secure: "YnhS+8n6B+uoyaYfaJ3Lei7cSJqHDPiKJCKFIF2c87YDfmCvAJke8QtE7IzjYDs7UFkTCM4ox+ph2bERUrxZbSCyEkHdjIZpKuMJfYWja/jgMqTMxdyOH9y8JLFbZsSXDIXDwqBlC6vVyl1fP90M35wuWcNTs6tctfVWVofEFbs="
  - GITTEST_INVASIVE_FS_SIZE=1
 matrix:
  - OPTIONS="-DTHREADSAFE=ON -DCMAKE_BUILD_TYPE=Release"
  - OPTIONS="-DTHREADSAFE=OFF -DBUILD_EXAMPLES=ON"

addons:
  apt:
    packages:
    - cmake
    - libssh2-1-dev
    - openssh-client
    - openssh-server
    - valgrind

sudo: false

matrix:
 fast_finish: true
 exclude:
   - os: osx
     compiler: gcc
 include:
   - compiler: i586-mingw32msvc-gcc
     env: OPTIONS="-DCMAKE_TOOLCHAIN_FILE=../script/toolchain-mingw32.cmake" SKIP_TESTS=1
     os: linux
   - compiler: gcc
     env: COVERITY=1
     os: linux
   - compiler: gcc
     env:
       - VALGRIND=1
         OPTIONS="-DBUILD_CLAR=ON -DBUILD_EXAMPLES=OFF -DDEBUG_POOL=ON -DCMAKE_BUILD_TYPE=Debug"
     os: linux
 allow_failures:
   - env: COVERITY=1
   - env:
       - VALGRIND=1
         OPTIONS="-DBUILD_CLAR=ON -DBUILD_EXAMPLES=OFF -DDEBUG_POOL=ON -DCMAKE_BUILD_TYPE=Debug"

install:
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ./script/install-deps-${TRAVIS_OS_NAME}.sh; fi

# Run the Build script and tests
script:
 - script/cibuild.sh

# Run Tests
after_success:
 - if [ "$TRAVIS_OS_NAME" = "linux" -a -n "$VALGRIND" ]; then valgrind --leak-check=full --show-reachable=yes --suppressions=./libgit2_clar.supp _build/libgit2_clar -ionline; fi

# Only watch the development and master branches
branches:
 only:
   - master
   - /^maint.*/

# Notify development list when needed
notifications:
 irc:
  channels:
    - irc.freenode.net#libgit2
  on_success: change
  on_failure: always
  use_notice: true
  skip_join: true
 campfire:
  on_success: always
  on_failure: always
  rooms:
   - secure: "sH0dpPWMirbEe7AvLddZ2yOp8rzHalGmv0bYL/LIhVw3JDI589HCYckeLMSB\n3e/FeXw4bn0EqXWEXijVa4ijbilVY6d8oprdqMdWHEodng4KvY5vID3iZSGT\nxylhahO1XHmRynKQLOAvxlc93IlpVW38vQfby8giIY1nkpspb2w="