b169c0ec40
Since CI is engaged on per merge request basis, it can be wasteful to run each request through all the tests, especially those resource consuming. Idea is to mark most of tests as "extended" and provide a way to opt-in by marking last commit with [extended tests] tag. It's still not as optimal as one could wish, as decision to skip a test still requires machine time, and it's taken in configured environment, i.e. with updates and additional packages installed... Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2292)
196 lines
6.9 KiB
YAML
196 lines
6.9 KiB
YAML
language: c
|
|
cache: ccache
|
|
|
|
before_install:
|
|
- if [ -n "$COVERALLS" ]; then
|
|
pip install --user cpp-coveralls;
|
|
fi;
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- ccache
|
|
- golang
|
|
|
|
os:
|
|
- linux
|
|
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
|
|
env:
|
|
- CONFIG_OPTS="" DESTDIR="_install" TESTS="-test_fuzz"
|
|
- CONFIG_OPTS="no-asm -Werror --debug no-shared enable-crypto-mdebug enable-rc5 enable-md2" TESTS="-test_fuzz"
|
|
- CONFIG_OPTS="no-asm --strict-warnings" BUILDONLY="yes" CHECKDOCS="yes"
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
compiler: gcc-5
|
|
env: CONFIG_OPTS="--strict-warnings enable-tls1_3" TESTS="-test_fuzz" COMMENT="Move to the BORINGTEST build when interoperable"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-3.6
|
|
sources:
|
|
- llvm-toolchain-precise-3.6
|
|
- ubuntu-toolchain-r-test
|
|
compiler: clang-3.6
|
|
env: CONFIG_OPTS="--strict-warnings no-deprecated" BUILDONLY="yes"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- binutils-mingw-w64
|
|
- gcc-mingw-w64
|
|
compiler: i686-w64-mingw32-gcc
|
|
env: CONFIG_OPTS="no-stdio" BUILDONLY="yes"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
compiler: gcc-5
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug --coverage no-asm enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-ssl3 enable-ssl3-method enable-nextprotoneg enable-weak-ssl-ciphers enable-external-tests no-shared -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" COVERALLS="yes" BORINGSSL_TESTS="yes" CXX="g++-5"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-3.6
|
|
sources:
|
|
- llvm-toolchain-precise-3.6
|
|
- ubuntu-toolchain-r-test
|
|
compiler: clang-3.6
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-3.6
|
|
sources:
|
|
- llvm-toolchain-precise-3.6
|
|
- ubuntu-toolchain-r-test
|
|
compiler: clang-3.6
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-nextprotoneg -fno-sanitize=alignment no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-3.6
|
|
sources:
|
|
- llvm-toolchain-precise-3.6
|
|
- ubuntu-toolchain-r-test
|
|
compiler: clang-3.6
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2 no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
compiler: gcc-5
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- binutils-mingw-w64
|
|
- gcc-mingw-w64
|
|
compiler: i686-w64-mingw32-gcc
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" TESTS="-test_fuzz"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- binutils-mingw-w64
|
|
- gcc-mingw-w64
|
|
compiler: x86_64-w64-mingw32-gcc
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" TESTS="-test_fuzz"
|
|
exclude:
|
|
- os: linux
|
|
compiler: clang
|
|
- os: osx
|
|
compiler: gcc
|
|
|
|
before_script:
|
|
- env
|
|
- if [ "$TRAVIS_EVENT_TYPE" == "pull_request" -a -n "$EXTENDED_TEST" ]; then
|
|
(git log -1 $TRAVIS_COMMIT_RANGE | grep '\[extended tests\]' > /dev/null) || exit 0;
|
|
fi
|
|
- if [ -n "$DESTDIR" ]; then
|
|
sh .travis-create-release.sh $TRAVIS_OS_NAME;
|
|
tar -xvzf _srcdist.tar.gz;
|
|
mkdir _build;
|
|
cd _build;
|
|
srcdir=../_srcdist;
|
|
top=..;
|
|
else
|
|
srcdir=.;
|
|
top=.;
|
|
fi
|
|
- if [ "$CC" == i686-w64-mingw32-gcc ]; then
|
|
export CROSS_COMPILE=${CC%%gcc}; unset CC;
|
|
$srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
|
|
elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
|
|
export CROSS_COMPILE=${CC%%gcc}; unset CC;
|
|
$srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
|
|
else
|
|
if which ccache >/dev/null && [ "$CC" != clang-3.6 ]; then
|
|
CC="ccache $CC";
|
|
fi;
|
|
$srcdir/config -v $CONFIG_OPTS;
|
|
fi
|
|
- cd $top
|
|
|
|
script:
|
|
- if [ -z "$BUILDONLY" ]; then
|
|
make="make -s";
|
|
else
|
|
make="make";
|
|
fi
|
|
- top=${PWD}
|
|
- if [ -n "$DESTDIR" ]; then
|
|
cd _build;
|
|
fi
|
|
- $make update
|
|
- if [ -n "$CHECKDOCS" ]; then
|
|
$make doc-nits;
|
|
fi
|
|
- $make
|
|
- if [ -z "$BUILDONLY" ]; then
|
|
if [ -n "$CROSS_COMPILE" ]; then
|
|
sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install wine;
|
|
export EXE_SHELL="wine" WINEPREFIX=`pwd`;
|
|
fi;
|
|
HARNESS_VERBOSE=yes BORING_RUNNER_DIR=$top/boringssl/ssl/test/runner make test;
|
|
else
|
|
$make build_tests;
|
|
fi
|
|
- if [ -n "$DESTDIR" ]; then
|
|
mkdir "$top/$DESTDIR";
|
|
$make install install_docs DESTDIR="$top/$DESTDIR";
|
|
fi
|
|
- cd $top
|
|
|
|
after_success:
|
|
- if [ -n "$COVERALLS" ]; then
|
|
coveralls -b . --gcov gcov-5 --gcov-options '\-lp';
|
|
fi;
|
|
|
|
notifications:
|
|
email:
|
|
secure: "xeGNgWO7aoaDgRvcZubposqMsj36aU8c6F0oHfw+rUqltCQ14IgYCUwzocmR2O+Pa7B3Cx5VjMfBFHbQaajZsfod8vu7g+aGq/zkjwbhsr/SR4dljJjFJXLGZjIalm9KgP6KInmVDuINfCqP+MHIY5lZkNI7DMcyHDhVc5nSKvCXV7xTDNgmstvh8rB/z51WfHDqGqfBtiuK5FDNxmvYK8OFJ5W94Lu9LDlizcxwK3GAj7arOui7Z5w8bQ6p4seUE3IvJL1Zbj0pZHxvNb6Zeb2Pn8QF1qLlN8YmBktD4aiw0ce4wYRiL87uLgcOxZY7SVXtv2XYFIYWapU/FKjCqa6vK93V/H9eZWEIYNMKnN3wXm2beqVdnKek3OeGJ8v0y7MbSfuLfRtBqbTSNYnpU1Zuo4MQAvHvEPuwCAYkYQajOSRplMH5sULFKptuVqNtOMfjL8jHb8AEoL1acYIk43ydxeYrzzas4fqgCDJ52573/u0RNdF1lkQBLkuM365OB8VRqtpnoxcdEIY/qBc/8TzZ24fxyrs5qdHFcxGSgpN2EP6cJMqpvkemnCNSdhxUqfzm22N7a3O8+4LFSBGOnHto/PwdsvF/01yGYL0LoZTnoO1i6x7AMJPBh+eyDU0ZjGhj/msjmqeb9C8vRqQ+1WjHrIS1iqCD0Czib8tUPD4="
|