]> git.ipfire.org Git - people/ms/strongswan.git/blame - .travis.yml
travis: Add build of the Android app
[people/ms/strongswan.git] / .travis.yml
CommitLineData
d151cd28
TB
1language: c
2
e365bef4 3os: linux
393e39a1 4dist: bionic
94a69986 5
8932d607
TB
6# don't build tags separately
7if: tag IS blank
8
b76a1cf2 9compiler: gcc
d151cd28 10
1bbb736e
TB
11cache: ccache
12
d151cd28 13before_install:
f5481496
TB
14 - travis_retry ./scripts/test.sh deps
15 - travis_retry ./scripts/test.sh pydeps
0ff93958 16 - travis_retry ./scripts/test.sh build-deps
d151cd28 17
bf5754ad 18before_script:
8486b3b4 19 - sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 || true
bf5754ad 20
d151cd28 21script:
d151cd28
TB
22 - ./scripts/test.sh
23
42f7c989
TB
24after_success:
25 if [ "$TEST" == "coverage" ]; then
26 bash <(curl -s https://codecov.io/bash);
27 fi
28
c7c9a50a
TB
29after_failure:
30 - cat config.log
75853dbe 31 - sleep 1
c7c9a50a 32
d151cd28
TB
33env:
34 global:
35 - TESTS_REDUCED_KEYLENGTHS=yes
36 - LEAK_DETECTIVE=no
37 - MONOLITHIC=no
d62b6636 38
e365bef4 39jobs:
d62b6636 40 include:
fb410305 41 - env: TEST=sonarcloud
a4e698b6 42 if: type = push AND env(SONAR_TOKEN) IS present
e2d8833f
TB
43 git:
44 depth: false
1f2c83db
TB
45 cache:
46 directories:
47 - $HOME/.sonar-cache
9c6bcb21
TB
48 addons:
49 sonarcloud:
50 organization: "strongswan"
c9a34303
TB
51 - env: TEST=lgtm
52 if: type = push AND env(LGTM_TOKEN) IS present
53 git:
54 depth: false
fb410305
TB
55 - env: TEST=osx
56 compiler: clang
ff977331 57 os: osx
763f07c5
TB
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
b76a1cf2
TB
86 - env: TEST=all
87 - env: TEST=all
88 compiler: clang
3be430cc
TB
89 - env: TEST=all
90 arch: arm64
91 - env: TEST=all
92 arch: ppc64le
93 - env: TEST=all
94 arch: s390x
e0b1b120 95 - env: TEST=all UBUNTU_XENIAL=yes
393e39a1 96 dist: xenial
e0b1b120 97 - env: TEST=all UBUNTU_XENIAL=yes
393e39a1
TB
98 dist: xenial
99 compiler: clang
b76a1cf2
TB
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
fb410305
TB
106 - env: TEST=coverage
107 - env: TEST=fuzzing MONOLITHIC=yes
108 compiler: clang
fb410305
TB
109 - env: TEST=win64 MONOLITHIC=yes
110 - env: TEST=win32 MONOLITHIC=yes
b76a1cf2
TB
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
658b6df4
TB
128 - env: TEST=nm
129 - env: TEST=nm-no-glib
7195914d 130 # the crypto plugins are build-tested with clang via "all" above
b76a1cf2 131 - env: TEST=botan
b76a1cf2 132 - env: TEST=botan LEAK_DETECTIVE=yes
d50bb81c
TB
133 - env: TEST=wolfssl
134 - env: TEST=wolfssl LEAK_DETECTIVE=yes
b76a1cf2 135 - env: TEST=openssl
b76a1cf2 136 - env: TEST=openssl LEAK_DETECTIVE=yes
e0b1b120 137 - env: TEST=openssl-1.0 UBUNTU_XENIAL=yes
393e39a1 138 dist: xenial
e0b1b120 139 - env: TEST=openssl-1.0 LEAK_DETECTIVE=yes UBUNTU_XENIAL=yes
393e39a1 140 dist: xenial
b76a1cf2 141 - env: TEST=gcrypt
b76a1cf2 142 - env: TEST=gcrypt LEAK_DETECTIVE=yes
b76a1cf2 143 - env: TEST=apidoc