dist: xenial language: c env: global: - secure: "QD09MuUxftXRXtz7ZrB7S0NV/3O9yVhjvIlCSbXN8B87rNSDC8wxMThKMT7iZewnqGk53m+Up19PiMw5ERlHose5tm2cmY1FO/l+c9oAyWZaAL+4XNXryq6zI5F5FX5I61NbfqV3xcnfLTI2QIJF6WqDojNxhPjTbNzQGxIDuqw=" matrix: include: # linux build - os: linux env: - TEST="linux (gcc)" addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-6 - valgrind install: - pyenv global 3.7.1 - pip3 install meson ninja script: - CC=gcc-6 EXTRA_CFLAGS=-Werror ./configure - make - make runtest - make runtest-valgrind - make distclean - mkdir build && cd build - cmake -DBUILD_WITH_SANITIZERS=TRUE .. - make - CTEST_OUTPUT_ON_FAILURE=1 make test - cd .. - CC=gcc-6 meson setup --werror builddir - meson compile -C builddir - meson test -v -C builddir # linux build with openssl - os: linux env: - TEST="linux openssl (gcc)" addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-6 - valgrind install: - pyenv global 3.7.1 - pip3 install meson ninja 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 -DBUILD_WITH_SANITIZERS=TRUE .. - make - CTEST_OUTPUT_ON_FAILURE=1 make test - cd .. - mkdir build_shared && cd build_shared - cmake -DENABLE_OPENSSL=ON -DBUILD_SHARED_LIBS=ON .. - make - make test - cd .. - meson setup --werror -Dcrypto-library=openssl builddir - meson compile -C builddir - meson test -v -C builddir # linux build with openssl and clang - os: linux env: - TEST="linux openssl (clang)" addons: apt: packages: - clang install: - pyenv global 3.7.1 - pip3 install meson ninja script: - CC=clang EXTRA_CFLAGS=-Werror ./configure --enable-openssl - make - make runtest - CC=clang meson setup --werror -Dcrypto-library=openssl builddir - meson compile -C builddir - meson test -v -C builddir # 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 install: - pyenv global 3.7.1 - pip3 install meson ninja script: - CC=gcc-6 EXTRA_CFLAGS=-Werror ./configure --enable-nss - make - make runtest - make runtest-valgrind - mkdir build && cd build - cmake -DENABLE_NSS=ON -DBUILD_WITH_SANITIZERS=TRUE .. - make - CTEST_OUTPUT_ON_FAILURE=1 make test - cd .. - CC=gcc-6 meson setup --werror -Dcrypto-library=nss builddir - meson compile -C builddir - meson test -v -C builddir # linux build with mbedtls - os: linux env: - TEST="linux mbedtls (gcc)" addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-6 - libmbedtls-dev script: - mkdir build && cd build - cmake -DENABLE_MBEDTLS=ON -DBUILD_WITH_SANITIZERS=TRUE .. - make - CTEST_OUTPUT_ON_FAILURE=1 make test - cd .. # default osx build - os: osx env: - TEST="osx" before_install: - pip3 install meson ninja script: - EXTRA_CFLAGS=-Werror ./configure - make - make runtest - make distclean - mkdir build && cd build - cmake .. - make - make test - cd .. - meson setup --werror builddir - meson compile -C builddir - meson test -v -C builddir # osx build with openssl - os: osx osx_image: xcode11.2 env: - TEST="osx openssl" before_install: - pip3 install meson ninja - brew install openssl@1.1 script: - PKG_CONFIG_PATH=$(brew --prefix openssl@1.1)/lib/pkgconfig EXTRA_CFLAGS=-Werror ./configure --enable-openssl - make - make runtest - make distclean - mkdir build && cd build - cmake -DOPENSSL_ROOT_DIR=$(brew --prefix openssl@1.1) -DENABLE_OPENSSL=ON .. - make - make test - cd .. - PKG_CONFIG_PATH=$(brew --prefix openssl@1.1)/lib/pkgconfig meson setup --werror -Dcrypto-library=openssl builddir - meson compile -C builddir - meson test -v -C builddir # osx build with nss - os: osx osx_image: xcode11.2 env: - TEST="osx nss" before_install: - pip3 install meson ninja script: - PKG_CONFIG_PATH=$(brew --prefix nss)/lib/pkgconfig EXTRA_CFLAGS=-Werror ./configure --enable-nss - make - make runtest - PKG_CONFIG_PATH=$(brew --prefix nss)/lib/pkgconfig meson setup --werror -Dcrypto-library=nss builddir - meson compile -C builddir - meson test -v -C builddir # osx build for Apple Silicon - os: osx osx_image: xcode12u env: - TEST="osx Apple Silicon" script: - mkdir build && cd build - cmake "-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64" .. - make - lipo -info srtp_driver - make test # 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 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 qemu-user-static qemu-system-mips gcc-mips-linux-gnu python3-pip -y - sudo docker exec --tty mipsX pip3 install meson==0.56.2 ninja 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 - file test/srtp_driver - make runtest - | cat > mips-cross-file.txt < uwp-amd64-cross-file.txt < uwp-arm64-cross-file.txt < android-cross-file.txt < ios-cross-file.txt <