travis: Add sonarcloud build
[strongswan.git] / .travis.yml
1 language: c
2
3 sudo: required
4 dist: trusty
5
6 compiler:
7   - gcc
8   - clang
9
10 addons:
11   sonarcloud:
12     organization: "strongswan"
13
14 before_install:
15   - travis_retry ./scripts/test.sh deps
16   - travis_retry ./scripts/test.sh pydeps
17
18 before_script:
19   - sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 || true
20
21 script:
22   - ./scripts/test.sh
23
24 after_success:
25   if [ "$TEST" == "coverage" ]; then
26     bash <(curl -s https://codecov.io/bash);
27   fi
28
29 after_failure:
30   - cat config.log
31
32 env:
33   global:
34     - TESTS_REDUCED_KEYLENGTHS=yes
35     - LEAK_DETECTIVE=no
36     - MONOLITHIC=no
37   matrix:
38     - TEST=default
39     - TEST=default MONOLITHIC=yes
40     - TEST=default LEAK_DETECTIVE=yes
41     - TEST=openssl
42     - TEST=openssl LEAK_DETECTIVE=yes
43     - TEST=gcrypt
44     - TEST=gcrypt LEAK_DETECTIVE=yes
45     # we can't test Vstr as negative int args are not properly passed to CBs
46     - TEST=printf-builtin
47     - TEST=printf-builtin LEAK_DETECTIVE=yes
48     - TEST=all
49     - TEST=all MONOLITHIC=yes
50     - TEST=all LEAK_DETECTIVE=yes
51
52 matrix:
53   include:
54     - compiler: gcc
55       env: TEST=dist
56     - compiler: gcc
57       env: TEST=apidoc
58     - compiler: gcc
59       env: TEST=coverage
60     - compiler: gcc
61       env: TEST=sonarcloud
62       git:
63         depth: false
64     - compiler: gcc
65       env: TEST=win64 MONOLITHIC=yes
66     # this does not work on 14.04 due to a missing @4 decoration for
67     # TryAcquireSRWLockExclusive in MinGW 3.1.0
68     - compiler: gcc
69       env: TEST=win32 MONOLITHIC=yes
70       dist: precise
71     - compiler: clang
72       env: TEST=fuzzing MONOLITHIC=yes
73     - compiler: clang
74       os: osx
75       env: TEST=osx