| 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 |