strongswan/.travis.yml

146 lines
4.3 KiB
YAML

language: c
os: linux
dist: bionic
# don't build tags separately
if: tag IS blank
compiler: gcc
cache: ccache
before_install:
- travis_retry ./scripts/test.sh deps
- travis_retry ./scripts/test.sh pydeps
- travis_retry ./scripts/test.sh build-deps
before_script:
- sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 || true
script:
- ./scripts/test.sh
after_success:
if [ "$TEST" == "coverage" ]; then
bash <(curl -s https://codecov.io/bash);
fi
after_failure:
- cat config.log
- sleep 1
env:
global:
- TESTS_REDUCED_KEYLENGTHS=yes
- LEAK_DETECTIVE=no
- MONOLITHIC=no
jobs:
include:
- env: TEST=sonarcloud
if: |
type = push AND env(SONAR_TOKEN) IS present AND \
env(SONAR_PROJECT) IS present AND \
env(SONAR_ORGANIZATION) IS present
git:
depth: false
cache:
directories:
- $HOME/.sonar-cache
addons:
sonarcloud: true
- env: TEST=lgtm
if: type = push AND env(LGTM_TOKEN) IS present
git:
depth: false
- env: TEST=osx
compiler: clang
os: osx
- env: TEST=android
install:
# see https://developer.android.com/studio#command-tools
- export ANDROID_TOOLS=commandlinetools-linux-6200805_latest.zip
- export ANDROID_HOME=$HOME/android-sdk
- wget -nv https://dl.google.com/android/repository/$ANDROID_TOOLS
- unzip -q $ANDROID_TOOLS -d $ANDROID_HOME && rm $ANDROID_TOOLS
- export PATH=$PATH:$ANDROID_HOME/tools/bin
# sdkmanager only works with Java 8
- export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- yes | sdkmanager --sdk_root=$ANDROID_HOME --licenses >/dev/null
- yes | sdkmanager --sdk_root=$ANDROID_HOME --install 'ndk;20.0.5594570'
- mkdir -p $HOME/.gradle
- echo "org.gradle.daemon=false" >> $HOME/.gradle/gradle.properties
- echo "org.gradle.console=plain" >> $HOME/.gradle/gradle.properties
# since the NDK is newly installed everytime, we have to use this to avoid cache misses
- export CCACHE_COMPILERCHECK=content
after_success:
- cat src/frontends/android/app/build/reports/lint-results.xml
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
ccache: true
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache
- env: TEST=all
- env: TEST=all
compiler: clang
- env: TEST=all
arch: arm64
- env: TEST=all
arch: ppc64le
- env: TEST=all
arch: s390x
- env: TEST=all UBUNTU_XENIAL=yes
dist: xenial
- env: TEST=all UBUNTU_XENIAL=yes
dist: xenial
compiler: clang
- env: TEST=all MONOLITHIC=yes
- env: TEST=all MONOLITHIC=yes
compiler: clang
- env: TEST=all LEAK_DETECTIVE=yes
- env: TEST=all LEAK_DETECTIVE=yes
compiler: clang
- env: TEST=coverage
- env: TEST=fuzzing MONOLITHIC=yes
compiler: clang
- env: TEST=win64 MONOLITHIC=yes
- env: TEST=win32 MONOLITHIC=yes
- env: TEST=dist
# "default" with GCC is already tested with "dist" above
- env: TEST=default
compiler: clang
- env: TEST=default MONOLITHIC=yes
- env: TEST=default MONOLITHIC=yes
compiler: clang
- env: TEST=default LEAK_DETECTIVE=yes
- env: TEST=default LEAK_DETECTIVE=yes
compiler: clang
# we can't test Vstr as negative int args are not properly passed to CBs
- env: TEST=printf-builtin
- env: TEST=printf-builtin
compiler: clang
- env: TEST=printf-builtin LEAK_DETECTIVE=yes
- env: TEST=printf-builtin LEAK_DETECTIVE=yes
compiler: clang
- env: TEST=nm
- env: TEST=nm-no-glib
# the crypto plugins are build-tested with clang via "all" above
- env: TEST=botan
- env: TEST=botan LEAK_DETECTIVE=yes
- env: TEST=wolfssl
- env: TEST=wolfssl LEAK_DETECTIVE=yes
- env: TEST=openssl
- env: TEST=openssl LEAK_DETECTIVE=yes
- env: TEST=openssl-1.0 UBUNTU_XENIAL=yes
dist: xenial
- env: TEST=openssl-1.0 LEAK_DETECTIVE=yes UBUNTU_XENIAL=yes
dist: xenial
- env: TEST=gcrypt
- env: TEST=gcrypt LEAK_DETECTIVE=yes
- env: TEST=apidoc