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