Merge branch 'travis-xenial'

Run builds on Travis on Ubuntu Xenial (16.04) images.
This commit is contained in:
Tobias Brunner
2018-11-21 14:40:00 +01:00
5 changed files with 80 additions and 71 deletions
+58 -41
View File
@@ -1,14 +1,12 @@
language: c
sudo: required
dist: trusty
dist: xenial
# don't build tags separately
if: tag IS blank
compiler:
- gcc
- clang
compiler: gcc
cache: ccache
@@ -29,54 +27,73 @@ after_success:
after_failure:
- cat config.log
- sleep 1
env:
global:
- TESTS_REDUCED_KEYLENGTHS=yes
- LEAK_DETECTIVE=no
- MONOLITHIC=no
matrix:
- TEST=all
- TEST=all MONOLITHIC=yes
- TEST=all LEAK_DETECTIVE=yes
- TEST=default
- TEST=default MONOLITHIC=yes
- TEST=default LEAK_DETECTIVE=yes
- TEST=botan
- TEST=botan LEAK_DETECTIVE=yes
- TEST=openssl
- TEST=openssl LEAK_DETECTIVE=yes
- TEST=gcrypt
- TEST=gcrypt LEAK_DETECTIVE=yes
# we can't test Vstr as negative int args are not properly passed to CBs
- TEST=printf-builtin
- TEST=printf-builtin LEAK_DETECTIVE=yes
matrix:
include:
- compiler: clang
os: osx
env: TEST=osx
- compiler: gcc
env: TEST=sonarcloud
if: env(SONAR_TOKEN) IS present
- env: TEST=sonarcloud
if: type = push
git:
depth: false
addons:
sonarcloud:
organization: "strongswan"
- compiler: gcc
env: TEST=coverage
- compiler: clang
env: TEST=fuzzing MONOLITHIC=yes
- compiler: gcc
env: TEST=dist
- compiler: gcc
env: TEST=apidoc
- compiler: gcc
env: TEST=win64 MONOLITHIC=yes
# this does not work on 14.04 due to a missing @4 decoration for
# TryAcquireSRWLockExclusive in MinGW 3.1.0
- compiler: gcc
env: TEST=win32 MONOLITHIC=yes
dist: precise
- env: TEST=osx
compiler: clang
os: osx
- env: TEST=all
- env: TEST=all
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=botan
- env: TEST=botan
compiler: clang
- env: TEST=botan LEAK_DETECTIVE=yes
- env: TEST=botan LEAK_DETECTIVE=yes
compiler: clang
- env: TEST=openssl
- env: TEST=openssl
compiler: clang
- env: TEST=openssl LEAK_DETECTIVE=yes
- env: TEST=openssl LEAK_DETECTIVE=yes
compiler: clang
- env: TEST=gcrypt
- env: TEST=gcrypt
compiler: clang
- env: TEST=gcrypt LEAK_DETECTIVE=yes
- env: TEST=gcrypt LEAK_DETECTIVE=yes
compiler: clang
- env: TEST=apidoc
-12
View File
@@ -1789,18 +1789,6 @@ GENERATE_XML = NO
XML_OUTPUT = xml
# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
# validating XML parser to check the syntax of the XML files.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_SCHEMA =
# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
# validating XML parser to check the syntax of the XML files.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_DTD =
# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
# listings (including syntax highlighting and cross-referencing information) to
# the XML output. Note that enabling this will significantly increase the size
+5
View File
@@ -24,6 +24,11 @@ config_includedir = $(ipseclibdir)/include
nodist_config_include_HEADERS = config.h
endif
# we can't (and shouldn't) install/uninstall system files during make distcheck,
# so override the autodetected path for systemd units
AM_DISTCHECK_CONFIGURE_FLAGS = \
--with-systemdsystemunitdir='$$(prefix)/lib/systemd/system'
# we leave config files behind intentionally so prevent distcheck from complaining
distuninstallcheck_listfiles = find . -type f \! -name '*.conf' \! -name '*.secrets' -print
+13 -18
View File
@@ -49,7 +49,8 @@ build_tss2()
curl -L $TSS2_SRC | tar xz -C $TRAVIS_BUILD_DIR/.. &&
cd $TSS2_DIR &&
./configure &&
sudo make -j4 install >/dev/null &&
make -j4 >/dev/null &&
sudo make install >/dev/null &&
sudo ldconfig || exit $?
cd -
}
@@ -98,11 +99,9 @@ all|coverage|sonarcloud)
--disable-kernel-pfroute --disable-keychain
--disable-lock-profiler --disable-padlock --disable-fuzzing
--disable-osx-attr --disable-tkm --disable-uci
--disable-systemd --disable-soup --disable-unwind-backtraces
--disable-soup --disable-unwind-backtraces
--disable-svc --disable-dbghelp-backtraces --disable-socket-win
--disable-kernel-wfp --disable-kernel-iph --disable-winhttp"
# Ubuntu 14.04 does not provide libnm
CONFIG="$CONFIG --disable-nm"
# not enabled on the build server
CONFIG="$CONFIG --disable-af-alg"
if test "$TEST" != "coverage"; then
@@ -113,8 +112,8 @@ all|coverage|sonarcloud)
fi
DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev
libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev
libpcsclite-dev libpam0g-dev binutils-dev libunwind8-dev
libjson0-dev iptables-dev python-pip libtspi-dev"
libpcsclite-dev libpam0g-dev binutils-dev libunwind8-dev libnm-dev
libjson0-dev iptables-dev python-pip libtspi-dev libsystemd-dev"
PYDEPS="pytest"
if test "$1" = "deps"; then
build_botan
@@ -130,10 +129,12 @@ win*)
--enable-updown --enable-ext-auth --enable-libipsec
--enable-tnccs-20 --enable-imc-attestation --enable-imv-attestation
--enable-imc-os --enable-imv-os --enable-tnc-imv --enable-tnc-imc
--enable-pki --enable-swanctl --enable-socket-win"
--enable-pki --enable-swanctl --enable-socket-win
--enable-kernel-iph --enable-kernel-wfp --enable-winhttp"
# no make check for Windows binaries unless we run on a windows host
if test "$APPVEYOR" != "True"; then
TARGET=
CCACHE=ccache
else
CONFIG="$CONFIG --enable-openssl"
CFLAGS="$CFLAGS -I/c/OpenSSL-$TEST/include"
@@ -144,21 +145,14 @@ win*)
DEPS="gcc-mingw-w64-base"
case "$TEST" in
win64)
# headers on 12.04 are too old, so we only build the plugins here
CONFIG="--host=x86_64-w64-mingw32 $CONFIG --enable-dbghelp-backtraces
--enable-kernel-iph --enable-kernel-wfp --enable-winhttp"
CONFIG="--host=x86_64-w64-mingw32 $CONFIG --enable-dbghelp-backtraces"
DEPS="gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-x86-64-dev $DEPS"
CC="x86_64-w64-mingw32-gcc"
# apply patch to MinGW headers
if test "$APPVEYOR" != "True" -a -z "$1"; then
sudo patch -f -p 4 -d /usr/share/mingw-w64/include < src/libcharon/plugins/kernel_wfp/mingw-w64-4.8.1.diff
fi
CC="$CCACHE x86_64-w64-mingw32-gcc"
;;
win32)
CONFIG="--host=i686-w64-mingw32 $CONFIG"
# currently only works on 12.04, so use mingw-w64-dev instead of mingw-w64-i686-dev
DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev $DEPS"
CC="i686-w64-mingw32-gcc"
DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-i686-dev $DEPS"
CC="$CCACHE i686-w64-mingw32-gcc"
;;
esac
;;
@@ -291,6 +285,7 @@ sonarcloud)
-Dsonar.projectKey=strongswan \
-Dsonar.projectVersion=$(git describe)+${TRAVIS_BUILD_NUMBER} \
-Dsonar.sources=. \
-Dsonar.cfamily.threads=2 \
-Dsonar.cfamily.build-wrapper-output=bw-output || exit $?
;;
*)
@@ -43,10 +43,12 @@ struct private_gcrypt_plugin_t {
gcrypt_plugin_t public;
};
#if GCRYPT_VERSION_NUMBER < 0x010600
/**
* Define gcrypt multi-threading callbacks as gcry_threads_pthread
*/
GCRY_THREAD_OPTION_PTHREAD_IMPL;
#endif
METHOD(plugin_t, get_name, char*,
private_gcrypt_plugin_t *this)
@@ -163,7 +165,9 @@ plugin_t *gcrypt_plugin_create()
{
private_gcrypt_plugin_t *this;
#if GCRYPT_VERSION_NUMBER < 0x010600
gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
#endif
if (!gcry_check_version(GCRYPT_VERSION))
{