2017-03-07 20:08:15 +00:00
|
|
|
# Medium Tests: Run on all commits/PRs to dev branch
|
|
|
|
|
2015-01-24 00:58:16 +00:00
|
|
|
language: c
|
2017-02-22 08:21:04 +00:00
|
|
|
dist: trusty
|
2018-05-14 15:55:21 +00:00
|
|
|
sudo: required
|
2018-11-28 06:06:18 +00:00
|
|
|
|
2017-03-07 20:08:15 +00:00
|
|
|
git:
|
|
|
|
depth: 1
|
2017-01-02 23:25:01 +00:00
|
|
|
|
2017-03-07 20:08:15 +00:00
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- dev
|
|
|
|
- master
|
2018-06-27 23:57:28 +00:00
|
|
|
- travisTest
|
2016-01-11 15:39:42 +00:00
|
|
|
|
2018-12-13 18:38:06 +00:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
update: true
|
|
|
|
|
|
|
|
env:
|
|
|
|
global:
|
|
|
|
- FUZZERTEST=-T2mn
|
|
|
|
ZSTREAM_TESTTIME=-T2mn
|
|
|
|
DECODECORPUS_TESTTIME=-T1mn
|
|
|
|
|
|
|
|
# TODO:
|
|
|
|
# - Add Coverity job
|
|
|
|
# - Ref https://travis-ci.org/systemd/systemd/jobs/461620858/config
|
|
|
|
#stages:
|
|
|
|
# # Run Coverity periodically instead of for each commit/PR
|
|
|
|
# - name: Coverity
|
|
|
|
# if: type = cron
|
|
|
|
|
|
|
|
matrix:
|
|
|
|
fast_finish: true
|
|
|
|
include:
|
|
|
|
- name: Trusty (Test All)
|
|
|
|
script:
|
|
|
|
- make test
|
|
|
|
|
|
|
|
- name: Trusty (gcc-6 + ASan + UBSan + Test Zstd)
|
|
|
|
script:
|
|
|
|
- make gcc6install
|
|
|
|
- CC=gcc-6 CFLAGS=-Werror make -j all
|
|
|
|
- make clean
|
|
|
|
- CC=gcc-6 make -j uasan-test-zstd </dev/null # test when stdin is not a tty
|
|
|
|
- name: Trusty (gcc-6 + ASan + UBSan + Test Zstd 32bit)
|
|
|
|
script:
|
|
|
|
- make gcc6install libc6install
|
|
|
|
- make clean
|
|
|
|
- CC=gcc-6 make -j uasan-test-zstd32
|
|
|
|
- name: Trusty (gcc-7 + ASan + UBSan + Test Zstd)
|
|
|
|
script:
|
|
|
|
- make gcc7install
|
|
|
|
- make clean
|
|
|
|
- CC=gcc-7 make -j uasan-test-zstd
|
|
|
|
- name: Trusty (gcc-8)
|
|
|
|
script:
|
|
|
|
- make gcc8install
|
|
|
|
- CC=gcc-8 CFLAGS="-Werror -O3" make -j all
|
|
|
|
- name: Trusty (clang-3.8 + MSan + Test Zstd)
|
|
|
|
script:
|
|
|
|
- make clang38install
|
|
|
|
- CC=clang-3.8 make clean msan-test-zstd
|
|
|
|
|
|
|
|
- name: Trusty (CMake)
|
|
|
|
script:
|
|
|
|
- make cmakebuild
|
|
|
|
|
|
|
|
- name: Trusty (Static Analyze)
|
|
|
|
script:
|
|
|
|
- make staticAnalyze
|
|
|
|
|
|
|
|
- name: Trusty (gcc-6 + ASan + UBSan + Fuzz Test)
|
|
|
|
script:
|
|
|
|
- make gcc6install
|
|
|
|
- CC=gcc-6 make clean uasan-fuzztest
|
|
|
|
- name: Trusty (gcc-6 + ASan + UBSan + Fuzz Test 32bit)
|
|
|
|
script:
|
|
|
|
- make gcc6install libc6install
|
|
|
|
- make clean
|
|
|
|
- CC=gcc-6 CFLAGS=-m32 make uasan-fuzztest
|
|
|
|
- name: Trusty (clang-3.8 + MSan + Fuzz Test)
|
|
|
|
script:
|
|
|
|
- make clang38install
|
|
|
|
- CC=clang-3.8 make clean msan-fuzztest
|
|
|
|
- name: Trusty (clang-3.8 + TSan + Fuzz Test)
|
|
|
|
script:
|
|
|
|
- make clang38install
|
|
|
|
- CC=clang-3.8 make clean tsan-fuzztest
|
|
|
|
|
|
|
|
- name: Trusty (ASan + UBSan + MSan + Regression Test)
|
|
|
|
script:
|
|
|
|
- make -j uasanregressiontest
|
|
|
|
- make clean
|
|
|
|
- make -j msanregressiontest
|
|
|
|
|
|
|
|
- name: Trusty (Valgrind + Fuzz Test Stack Mode)
|
|
|
|
script:
|
|
|
|
- make valgrindinstall
|
|
|
|
- make -C tests clean valgrindTest
|
|
|
|
- make clean
|
|
|
|
- make -C tests test-fuzzer-stackmode
|
|
|
|
|
|
|
|
- name: Trusty (ARM + Fuzz Test)
|
|
|
|
script:
|
|
|
|
- make arminstall
|
|
|
|
- make armfuzz
|
|
|
|
- name: Trusty (AARCH64 + Fuzz Test)
|
|
|
|
script:
|
|
|
|
- make arminstall
|
|
|
|
- make aarch64fuzz
|
|
|
|
- name: Trusty (PPC + Fuzz Test)
|
|
|
|
script:
|
|
|
|
- make ppcinstall
|
|
|
|
- make ppcfuzz
|
|
|
|
- name: Trusty (PPC64 + Fuzz Test)
|
|
|
|
script:
|
|
|
|
- make ppcinstall
|
|
|
|
- make ppc64fuzz
|
|
|
|
|
|
|
|
- name: Trusty (LZ4)
|
|
|
|
script:
|
|
|
|
- make lz4install
|
|
|
|
- make -C tests test-lz4
|
|
|
|
- make clean
|
|
|
|
- make -C tests test-pool
|
|
|
|
- make clean
|
|
|
|
- bash tests/libzstd_partial_builds.sh
|
|
|
|
|
|
|
|
- name: Tag-Specific Test
|
|
|
|
if: tag =~ ^v[0-9]\.[0-9]
|
|
|
|
script:
|
|
|
|
- make -C tests checkTag
|
|
|
|
- tests/checkTag "$TRAVIS_BRANCH"
|
|
|
|
|
|
|
|
- name: Xenial (Meson + clang)
|
|
|
|
dist: xenial
|
|
|
|
language: cpp
|
|
|
|
compiler: clang
|
|
|
|
before_install:
|
|
|
|
- sudo apt-get install -qq liblz4-dev valgrind tree
|
|
|
|
- curl -o ~/get-pip.py 'https://bootstrap.pypa.io/get-pip.py'
|
|
|
|
- python3 ~/get-pip.py --user
|
|
|
|
- pip3 install --user meson ninja
|
|
|
|
script:
|
|
|
|
- meson --buildtype=debug
|
|
|
|
-Db_lundef=false
|
|
|
|
-Dauto_features=enabled
|
|
|
|
-Dbuild_{programs,tests,contrib}=true
|
|
|
|
-Ddefault_library=both
|
|
|
|
build/meson builddir
|
|
|
|
- cd builddir
|
|
|
|
- DESTDIR=./staging ninja install
|
|
|
|
- tree ./staging
|
|
|
|
allow_failures:
|
|
|
|
- name: Xenial (Meson + clang)
|