]> git.ipfire.org Git - people/ms/strongswan.git/blob - .travis.yml
travis: Read project/organization for SonarCloud from environment variable
[people/ms/strongswan.git] / .travis.yml
1 language: c
2
3 os: linux
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 - travis_retry ./scripts/test.sh build-deps
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 - sleep 1
32
33 env:
34 global:
35 - TESTS_REDUCED_KEYLENGTHS=yes
36 - LEAK_DETECTIVE=no
37 - MONOLITHIC=no
38
39 jobs:
40 include:
41 - env: TEST=sonarcloud
42 if: |
43 type = push AND env(SONAR_TOKEN) IS present AND \
44 env(SONAR_PROJECT) IS present AND \
45 env(SONAR_ORGANIZATION) IS present
46 git:
47 depth: false
48 cache:
49 directories:
50 - $HOME/.sonar-cache
51 addons:
52 sonarcloud: true
53 - env: TEST=lgtm
54 if: type = push AND env(LGTM_TOKEN) IS present
55 git:
56 depth: false
57 - env: TEST=osx
58 compiler: clang
59 os: osx
60 - env: TEST=android
61 install:
62 # see https://developer.android.com/studio#command-tools
63 - export ANDROID_TOOLS=commandlinetools-linux-6200805_latest.zip
64 - export ANDROID_HOME=$HOME/android-sdk
65 - wget -nv https://dl.google.com/android/repository/$ANDROID_TOOLS
66 - unzip -q $ANDROID_TOOLS -d $ANDROID_HOME && rm $ANDROID_TOOLS
67 - export PATH=$PATH:$ANDROID_HOME/tools/bin
68 # sdkmanager only works with Java 8
69 - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
70 - yes | sdkmanager --sdk_root=$ANDROID_HOME --licenses >/dev/null
71 - yes | sdkmanager --sdk_root=$ANDROID_HOME --install 'ndk;20.0.5594570'
72 - mkdir -p $HOME/.gradle
73 - echo "org.gradle.daemon=false" >> $HOME/.gradle/gradle.properties
74 - echo "org.gradle.console=plain" >> $HOME/.gradle/gradle.properties
75 # since the NDK is newly installed everytime, we have to use this to avoid cache misses
76 - export CCACHE_COMPILERCHECK=content
77 after_success:
78 - cat src/frontends/android/app/build/reports/lint-results.xml
79 before_cache:
80 - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
81 - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
82 cache:
83 ccache: true
84 directories:
85 - $HOME/.gradle/caches/
86 - $HOME/.gradle/wrapper/
87 - $HOME/.android/build-cache
88 - env: TEST=all
89 - env: TEST=all
90 compiler: clang
91 - env: TEST=all
92 arch: arm64
93 - env: TEST=all
94 arch: ppc64le
95 - env: TEST=all
96 arch: s390x
97 - env: TEST=all UBUNTU_XENIAL=yes
98 dist: xenial
99 - env: TEST=all UBUNTU_XENIAL=yes
100 dist: xenial
101 compiler: clang
102 - env: TEST=all MONOLITHIC=yes
103 - env: TEST=all MONOLITHIC=yes
104 compiler: clang
105 - env: TEST=all LEAK_DETECTIVE=yes
106 - env: TEST=all LEAK_DETECTIVE=yes
107 compiler: clang
108 - env: TEST=coverage
109 - env: TEST=fuzzing MONOLITHIC=yes
110 compiler: clang
111 - env: TEST=win64 MONOLITHIC=yes
112 - env: TEST=win32 MONOLITHIC=yes
113 - env: TEST=dist
114 # "default" with GCC is already tested with "dist" above
115 - env: TEST=default
116 compiler: clang
117 - env: TEST=default MONOLITHIC=yes
118 - env: TEST=default MONOLITHIC=yes
119 compiler: clang
120 - env: TEST=default LEAK_DETECTIVE=yes
121 - env: TEST=default LEAK_DETECTIVE=yes
122 compiler: clang
123 # we can't test Vstr as negative int args are not properly passed to CBs
124 - env: TEST=printf-builtin
125 - env: TEST=printf-builtin
126 compiler: clang
127 - env: TEST=printf-builtin LEAK_DETECTIVE=yes
128 - env: TEST=printf-builtin LEAK_DETECTIVE=yes
129 compiler: clang
130 - env: TEST=nm
131 - env: TEST=nm-no-glib
132 # the crypto plugins are build-tested with clang via "all" above
133 - env: TEST=botan
134 - env: TEST=botan LEAK_DETECTIVE=yes
135 - env: TEST=wolfssl
136 - env: TEST=wolfssl LEAK_DETECTIVE=yes
137 - env: TEST=openssl
138 - env: TEST=openssl LEAK_DETECTIVE=yes
139 - env: TEST=openssl-1.0 UBUNTU_XENIAL=yes
140 dist: xenial
141 - env: TEST=openssl-1.0 LEAK_DETECTIVE=yes UBUNTU_XENIAL=yes
142 dist: xenial
143 - env: TEST=gcrypt
144 - env: TEST=gcrypt LEAK_DETECTIVE=yes
145 - env: TEST=apidoc