blob: a7380f1d66914aea956720a1946680642744834b [file] [log] [blame]
dist: xenial
sudo: false
language: c
env:
global:
- secure: "QD09MuUxftXRXtz7ZrB7S0NV/3O9yVhjvIlCSbXN8B87rNSDC8wxMThKMT7iZewnqGk53m+Up19PiMw5ERlHose5tm2cmY1FO/l+c9oAyWZaAL+4XNXryq6zI5F5FX5I61NbfqV3xcnfLTI2QIJF6WqDojNxhPjTbNzQGxIDuqw="
matrix:
include:
# linux build
- os: linux
env:
- TEST="linux (gcc / valgrind)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- valgrind
script:
- CC=gcc-6 EXTRA_CFLAGS=-Werror ./configure
- make
- make runtest
- make runtest-valgrind
- make distclean
- mkdir build && cd build
- cmake ..
- make
- make test
# linux build with openssl
- os: linux
env:
- TEST="linux openssl (gcc / valgrind)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- valgrind
script:
- CC=gcc-6 EXTRA_CFLAGS=-Werror ./configure --enable-openssl
- make
- make runtest
- make runtest-valgrind
- make distclean
- mkdir build && cd build
- cmake -DENABLE_OPENSSL=ON ..
- make
- make test
- cd ..
- mkdir build_shared && cd build_shared
- cmake -DENABLE_OPENSSL=ON -DBUILD_SHARED_LIBS=ON ..
- make
- make test
# linux build with openssl and clang
- os: linux
env:
- TEST="linux openssl (clang)"
addons:
apt:
packages:
- clang
script:
- CC=clang EXTRA_CFLAGS=-Werror ./configure --enable-openssl
- make
- make runtest
# linux build with nss
- os: linux
env:
- TEST="linux nss (gcc / valgrind)"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- valgrind
- libnss3-dev
script:
- CC=gcc-6 EXTRA_CFLAGS=-Werror ./configure --enable-nss
- make
- make runtest
- make runtest-valgrind
# default osx build
- os: osx
env:
- TEST="osx"
script:
- EXTRA_CFLAGS=-Werror ./configure
- make
- make runtest
- make distclean
- mkdir build && cd build
- cmake ..
- make
- make test
# osx build with openssl
- os: osx
env:
- TEST="osx openssl"
before_install:
- brew install openssl
script:
- PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig EXTRA_CFLAGS=-Werror ./configure --enable-openssl
- make
- make runtest
- make distclean
- mkdir build && cd build
- cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DENABLE_OPENSSL=ON ..
- make
- make test
# osx build with nss
- os: osx
env:
- TEST="osx nss"
before_install:
- brew install nss
script:
- PKG_CONFIG_PATH=/usr/local/opt/nss/lib/pkgconfig EXTRA_CFLAGS=-Werror ./configure --enable-nss
- make
- make runtest
# code format check
- os: linux
env:
- TEST="clang-format"
addons:
apt:
packages:
- clang-format-3.9
script:
- CLANG_FORMAT=clang-format-3.9 ./format.sh -d
# big-endian
- os: linux
sudo: true
env:
- TEST="big-endian"
services:
- docker
addons:
apt:
packages:
- qemu-user-static
- qemu-system-mips
before_install:
- sudo docker run --volume $(pwd):/src --workdir /src --name mipsX --tty --detach ubuntu:16.04 tail
- sudo docker exec --tty mipsX apt-get update
- sudo docker exec --tty mipsX apt-get install build-essential -y
- sudo docker exec --tty mipsX apt-get install gcc-mips-linux-gnu -y
script:
- sudo docker exec --tty mipsX bash -c 'EXTRA_CFLAGS=-static CC=mips-linux-gnu-gcc ./configure --host=mips-linux-gnu'
- sudo docker exec --tty mipsX make
- sudo docker kill mipsX
- file test/srtp_driver
- make runtest
# linux build of fuzzer
- os: linux
env:
- TEST="fuzzer (build only)"
addons:
apt:
packages:
- clang
script:
- CC=clang CXX=clang++ CXXFLAGS="-fsanitize=fuzzer-no-link,address,undefined -g -O3" CFLAGS="-fsanitize=fuzzer-no-link,address,undefined -g -O3" LDFLAGS="-fsanitize=fuzzer-no-link,address,undefined" ./configure
- LIBFUZZER="-fsanitize=fuzzer" make srtp-fuzzer
# coverity scan
- os: linux
env:
- TEST="Coverity Scan"
addons:
coverity_scan:
project:
name: "cisco-libSRTP"
description: "Build submitted via Travis CI"
version: 2
notification_email: pabuhler@cisco.com
build_command_prepend: "./configure"
build_command: "make"
branch_pattern: master
script:
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
# windows build
- os: windows
env:
- TEST="windows"
script:
- export PATH="c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin":$PATH
- mkdir build && cd build
- cmake -G "Visual Studio 15 2017" ..
- msbuild.exe libsrtp2.sln -p:Configuration=Release
- msbuild.exe RUN_TESTS.vcxproj -p:Configuration=Release
- cd ..
- mkdir build_shared && cd build_shared
- cmake -G "Visual Studio 15 2017" -DBUILD_SHARED_LIBS=ON ..
- msbuild.exe libsrtp2.sln -p:Configuration=Release
- msbuild.exe RUN_TESTS.vcxproj -p:Configuration=Release