3e448c9d9f83deba9aa0a4bca3b1b3c5f0106dad
[strongswan.git] / .travis.yml
1 language: c
2
3 sudo: required
4 dist: bionic
5
6 # don't build tags separately
7 if: tag IS blank
8
9 compiler: gcc
10
11 cache: ccache
12
13 before_install:
14   - travis_retry ./scripts/test.sh deps
15   - travis_retry ./scripts/test.sh pydeps
16
17 before_script:
18   - sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 || true
19
20 script:
21   - ./scripts/test.sh
22
23 after_success:
24   if [ "$TEST" == "coverage" ]; then
25     bash <(curl -s https://codecov.io/bash);
26   fi
27
28 after_failure:
29   - cat config.log
30   - sleep 1
31
32 env:
33   global:
34     - TESTS_REDUCED_KEYLENGTHS=yes
35     - LEAK_DETECTIVE=no
36     - MONOLITHIC=no
37
38 matrix:
39   include:
40     - env: TEST=sonarcloud
41       if: type = push AND env(SONAR_TOKEN) IS present
42       git:
43         depth: false
44       addons:
45         sonarcloud:
46           organization: "strongswan"
47     - env: TEST=lgtm
48       if: type = push AND env(LGTM_TOKEN) IS present
49       git:
50         depth: false
51     - env: TEST=osx
52       compiler: clang
53       os: osx
54     - env: TEST=all
55     - env: TEST=all
56       compiler: clang
57     - env: TEST=all
58       arch: arm64
59     - env: TEST=all
60       arch: ppc64le
61     - env: TEST=all
62       arch: s390x
63     - env: TEST=all
64       dist: xenial
65     - env: TEST=all
66       dist: xenial
67       compiler: clang
68     - env: TEST=all MONOLITHIC=yes
69     - env: TEST=all MONOLITHIC=yes
70       compiler: clang
71     - env: TEST=all LEAK_DETECTIVE=yes
72     - env: TEST=all LEAK_DETECTIVE=yes
73       compiler: clang
74     - env: TEST=coverage
75     - env: TEST=fuzzing MONOLITHIC=yes
76       compiler: clang
77     - env: TEST=win64 MONOLITHIC=yes
78     - env: TEST=win32 MONOLITHIC=yes
79     - env: TEST=dist
80     # "default" with GCC is already tested with "dist" above
81     - env: TEST=default
82       compiler: clang
83     - env: TEST=default MONOLITHIC=yes
84     - env: TEST=default MONOLITHIC=yes
85       compiler: clang
86     - env: TEST=default LEAK_DETECTIVE=yes
87     - env: TEST=default LEAK_DETECTIVE=yes
88       compiler: clang
89     # we can't test Vstr as negative int args are not properly passed to CBs
90     - env: TEST=printf-builtin
91     - env: TEST=printf-builtin
92       compiler: clang
93     - env: TEST=printf-builtin LEAK_DETECTIVE=yes
94     - env: TEST=printf-builtin LEAK_DETECTIVE=yes
95       compiler: clang
96     # the crypto plugins are build-tested with clang via "all" above
97     - env: TEST=botan
98     - env: TEST=botan LEAK_DETECTIVE=yes
99     - env: TEST=wolfssl
100     - env: TEST=wolfssl LEAK_DETECTIVE=yes
101     - env: TEST=openssl
102     - env: TEST=openssl LEAK_DETECTIVE=yes
103     - env: TEST=openssl-1.0
104       dist: xenial
105     - env: TEST=openssl-1.0 LEAK_DETECTIVE=yes
106       dist: xenial
107     - env: TEST=gcrypt
108     - env: TEST=gcrypt LEAK_DETECTIVE=yes
109     - env: TEST=apidoc