zstd/.travis.yml
2018-12-14 02:06:14 +07:00

158 lines
4.0 KiB
YAML

# Medium Tests: Run on all commits/PRs to dev branch
language: c
dist: trusty
sudo: required
git:
depth: 1
branches:
only:
- dev
- master
- travisTest
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)