mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-17 23:20:42 +01:00
This is necessary as we hit the Travis max runtime limit per VM, so we need to duplicate the tests. This is done via --enable-testbench1 and --enable-testbench2 which we than use in different VMs. This PR also includes updates to the Travis scripts so that we use the new capability. We have only duplicated Travis VMs where acutally necessary -- we may need to do more of this in the future. closes https://github.com/rsyslog/rsyslog/issues/2196
139 lines
6.3 KiB
YAML
139 lines
6.3 KiB
YAML
os:
|
|
- osx
|
|
- linux
|
|
|
|
language: c
|
|
|
|
compiler:
|
|
- gcc
|
|
- clang
|
|
|
|
services:
|
|
- elasticsearch
|
|
- mysql
|
|
- postgresql
|
|
|
|
|
|
env:
|
|
global:
|
|
secure: DsTuVAZg5omWT652Xnz/ZG20nJ5ShdTDXPQA01HscUhjAzcuMYsCPp889QoLip+3O5yYH6/oH2WprQA6ZQQMt+7idNRo6ennu7tPQiHEBm/lK2Yq1W6r6tOb1zmSalbIVWV2cGTdKOOuHAatgmp/L70WjOlCrtLvPT+JQ9AkzLU=
|
|
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- sourceline: 'deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-draft/xUbuntu_14.04/ ./'
|
|
key_url: 'http://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-draft/xUbuntu_12.04/Release.key'
|
|
packages:
|
|
- build-essential
|
|
- automake
|
|
- pkg-config
|
|
- libtool
|
|
- autoconf
|
|
- autotools-dev
|
|
- gdb
|
|
- valgrind
|
|
- libdbi-dev
|
|
- libsnmp-dev
|
|
- libmysqlclient-dev
|
|
- postgresql-client
|
|
- libglib2.0-dev
|
|
- libtokyocabinet-dev
|
|
- zlib1g-dev
|
|
- uuid-dev
|
|
- libgcrypt11-dev
|
|
- bison
|
|
- flex
|
|
- libcurl4-gnutls-dev
|
|
- python-docutils
|
|
- openjdk-7-jdk
|
|
- wget
|
|
- libkrb5-dev
|
|
- libsodium-dev
|
|
- libczmq-dev
|
|
- libnet1-dev
|
|
#- autoconf-archive
|
|
#- libgrok1
|
|
#- libgrok-dev
|
|
#- faketime
|
|
#- libdbd-mysql
|
|
#- libmongo-client-dev
|
|
|
|
matrix:
|
|
exclude:
|
|
- compiler: "gcc"
|
|
- compiler: "clang"
|
|
include:
|
|
- os: osx
|
|
compiler: "clang"
|
|
env: CFLAGS="-g "
|
|
#env: CFLAGS="-g -std=c99 -W -Wall -Wextra -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute"
|
|
# note: -Werror makes ./configure.sh not properly detect functions
|
|
# like strndup() on Ubuntu 12.04. So we enable it on trusty builds
|
|
# only. The first build with gcc actually only has the purpose of
|
|
# checking for warnings (the testbench currently has some issues
|
|
# on travis Ubuntu 14.04, but not in the regular environments, we
|
|
# need to find out some time why this is).
|
|
- os: linux
|
|
compiler: "gcc"
|
|
env: KAFKA="YES", CFLAGS="-g -std=c99 -W -Wall -Wextra -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute"
|
|
dist: trusty
|
|
- os: linux
|
|
compiler: "clang"
|
|
env: STAT_AN="NOT_OK_YES", GROK="YES", KAFKA="YES", CFLAGS="-g -O2 -std=c99 -W -Wall -Wextra -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -Wno-unused-function"
|
|
# note: we currently need -Wno-unused-function until we fix inline
|
|
# functions (C99 semantics are really ugly...)
|
|
dist: trusty
|
|
- os: linux
|
|
compiler: "clang"
|
|
env: MERGE="YES", STAT_AN="NOT_OK_YES", CHECK="YES", GROK="YES", KAFKA="YES", CFLAGS="-g -O2 -std=c99 -W -Wall -Wextra -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -Wno-unused-function"
|
|
# note: we currently need -Wno-unused-function until we fix inline
|
|
# functions (C99 semantics are really ugly...)
|
|
dist: trusty
|
|
- os: linux
|
|
compiler: "gcc"
|
|
env: BUILD_FROM_TARBALL="YES", GROK="YES", KAFKA="YES", CHECK="YES", CFLAGS="-g -O2 -W -Wall -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute", RS_TESTBENCH_VALGRIND_EXTRA_OPTS="--suppressions=travis/trusty.supp --gen-suppressions=all", EXTRA_CONFIGURE="--disable-testbench1"
|
|
dist: trusty
|
|
- os: linux
|
|
compiler: "gcc"
|
|
env: BUILD_FROM_TARBALL="YES", CHECK="YES", CFLAGS="-g -O2 -W -Wall -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute", RS_TESTBENCH_VALGRIND_EXTRA_OPTS="--suppressions=travis/trusty.supp --gen-suppressions=all", EXTRA_CONFIGURE="--disable-testbench2"
|
|
dist: trusty
|
|
- os: linux
|
|
compiler: "clang"
|
|
env: CHECK="YES", ESTEST="YES", CFLAGS="-g -O1 -fsanitize=address -fno-color-diagnostics"
|
|
- os: linux
|
|
compiler: "clang"
|
|
# we run this test without assert() enabled, so that we get "production timing"
|
|
dist: trusty
|
|
env: AD_PPA="v8-devel", CHECK="YES", CFLAGS="-g -O1 -fsanitize=address -fno-color-diagnostics", CONFIGURE_FLAGS="--disable-debug"
|
|
- os: linux
|
|
compiler: "gcc"
|
|
dist: trusty
|
|
env: DEBUGLESS="YES", CFLAGS="-g -O2 -std=c99 -W -Wall -Wextra -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -Wno-unused-function"
|
|
|
|
# next is experimental, we may merge it with some other compile-only test
|
|
- os: linux
|
|
compiler: "gcc"
|
|
env: GCC="NEWEST", KAFKA="YES", GROK="YES", CFLAGS="-g"
|
|
dist: trusty
|
|
|
|
- os: linux
|
|
compiler: "gcc"
|
|
dist: trusty
|
|
env: DO_COVERITY="YES",DO_CRON="YES", KAFKA="YES", GROK="YES"
|
|
|
|
before_install:
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "${AD_PPA}x" == "x" ] ; then AD_PPA="v8-stable"; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then sudo add-apt-repository ppa:adiscon/$AD_PPA -y ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then sudo add-apt-repository ppa:qpid/released -y ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then sudo apt-get update -qq ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then mysql -u root -e "CREATE USER 'rsyslog'@'localhost' IDENTIFIED BY 'testbench';" ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then mysql -u root -e "GRANT ALL PRIVILEGES ON * . * TO 'rsyslog'@'localhost'; FLUSH PRIVILEGES;" ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then mysql -u root -e "CREATE DATABASE Syslog; GRANT ALL ON Syslog.* to 'rsyslog'@'localhost' identified by 'testbench';" ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then mysql -u root -e "USE Syslog; CREATE TABLE SystemEvents (ID int unsigned not null auto_increment primary key, CustomerID bigint,ReceivedAt datetime NULL,DeviceReportedTime datetime NULL,Facility smallint NULL,Priority smallint NULL,FromHost varchar(60) NULL,Message text,NTSeverity int NULL,Importance int NULL,EventSource varchar(60),EventUser varchar(60) NULL,EventCategory int NULL,EventID int NULL,EventBinaryData text NULL,MaxAvailable int NULL,CurrUsage int NULL,MinUsage int NULL,MaxUsage int NULL,InfoUnitID int NULL,SysLogTag varchar(60),EventLogType varchar(60),GenericFileName VarChar(60),SystemID int NULL); CREATE TABLE SystemEventsProperties (ID int unsigned not null auto_increment primary key,SystemEventID int NULL,ParamName varchar(255) NULL,ParamValue text NULL);" ; fi
|
|
|
|
install:
|
|
|
|
script:
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] ; then tests/travis/run.sh ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] ; then tests/travis/run-osx.sh ; fi
|