matrix:
fast_finish: true
include:
- - name: arm64
+ - name: arm64 # ~2.5 mn
os: linux
arch: arm64
script:
- make check
- - name: make test (complete)
+ - name: make test (complete) # ~14mn
script:
# DEVNULLRIGHTS : will request sudo rights to test permissions on /dev/null
- DEVNULLRIGHTS=test make test
- - name: gcc-6 + gcc-7 compilation
+ - name: gcc-6 + gcc-7 compilation # ~ 3mn
script:
- make gcc6install gcc7install
- CC=gcc-6 CFLAGS=-Werror make -j all
- make clean
- CC=gcc-7 CFLAGS=-Werror make -j all
- - name: gcc-8 + ASan + UBSan + Test Zstd
+ - name: gcc-8 + ASan + UBSan + Test Zstd # ~6.5mn
script:
- make gcc8install
- CC=gcc-8 CFLAGS="-Werror" make -j all
- make clean
- CC=gcc-8 make -j uasan-test-zstd </dev/null # test when stdin is not a tty
- - name: gcc-6 + ASan + UBSan + Test Zstd, 32bit mode
+ - name: gcc-6 + ASan + UBSan + Test Zstd, 32bit mode # ~4mn
script:
- make gcc6install libc6install
- CC=gcc-6 CFLAGS="-Werror -m32" make -j all32
- make clean
- CC=gcc-6 make -j uasan-test-zstd32 # note : can complain about pointer overflow
- - name: Trusty (clang-3.8 + MSan + Test Zstd)
+ - name: clang-3.8 + MSan + Test Zstd # ~3.5mn
script:
- make clang38install
# External libraries must be turned off when using MSAN tests,
# so any data coming from these libraries is always considered "uninitialized"
- CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0
- - name: Trusty (Minimal Decompressor Macros)
+ - name: Minimal Decompressor Macros # ~5mn
script:
- make clean
- CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
- make clean
- make -j check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
- - name: cmake test
+ - name: cmake test # ~2mn
script:
- make cmakebuild
- - name: static analyzer scanbuild
+ - name: static analyzer scanbuild # ~26mn
script:
- make staticAnalyze
- - name: gcc-8 + ASan + UBSan + Fuzz Test
+ - name: gcc-8 + ASan + UBSan + Fuzz Test # ~19mn
script:
- make gcc8install
- CC=gcc-8 make clean uasan-fuzztest
- - name: gcc-6 + ASan + UBSan + Fuzz Test 32bit
+ - name: gcc-6 + ASan + UBSan + Fuzz Test 32bit # ~15.5mn
script:
- make gcc6install libc6install
- CC=gcc-6 CFLAGS="-O2 -m32" make uasan-fuzztest # can complain about pointer overflow
- - name: clang-3.8 + MSan + Fuzz Test
+ - name: clang-3.8 + MSan + Fuzz Test # ~14.5mn
script:
- make clang38install
- CC=clang-3.8 make clean msan-fuzztest
- - name: ASan + UBSan + MSan + Regression Test
+ - name: ASan + UBSan + MSan + Regression Test # ~ 4.5mn
script:
- make -j uasanregressiontest
- make clean
- make -j msanregressiontest
- - name: Valgrind + Fuzz Test Stack Mode
+ - name: Valgrind + Fuzz Test Stack Mode # ~ 7mn
script:
- make valgrindinstall
- make -C tests clean valgrindTest
- make clean
- make -C tests test-fuzzer-stackmode
- - name: Qemu ARM emulation + Fuzz Test
+ - name: Qemu ARM emulation + Fuzz Test # ~13.5mn
script:
- make arminstall
- make armfuzz
- - name: Xenial (AARCH64 + Fuzz Test)
+ - name: Xenial (AARCH64 + Fuzz Test) # ~14mn
dist: xenial
script:
- make arminstall
- make aarch64fuzz
- - name: PPC + Fuzz Test
+ - name: PPC + Fuzz Test # ~13mn
script:
- make ppcinstall
- make ppcfuzz
- - name: Versions Compatibility Test
+ - name: Versions Compatibility Test # 11.5mn
script:
- make -C tests versionsTest
- # check release number
+ # check release number (release only)
- name: Tag-Specific Test
if: tag =~ ^v[0-9]\.[0-9]
script:
- tests/checkTag "$TRAVIS_BRANCH"
# tests for master branch and cron job only
- - name: OS-X
+ - name: OS-X # ~13mn
if: branch = master
os: osx
script:
- make test
- - name: thread sanitizer
+ - name: thread sanitizer # ~29mn
if: branch = master
script:
- make clang38install
- CC=clang-3.8 make tsan-test-zstream
- CC=clang-3.8 make tsan-fuzztest
- - name: C++ and gnu90 compatibility
+ - name: C++ and gnu90 compatibility # ~2.5mn
if: branch = master
script:
- make cxxtest
- make clean
- make travis-install # just ensures `make install` works
- - name: c99 compatibility
+ - name: c99 compatibility # ~1.5mn
if: branch = master
script:
- make c99build
- make -C tests test-zstd
- - name: PPC64
+ - name: PPC64 # ~13mn
if: branch = master
script:
- make ppcinstall
- make ppc64fuzz
- - name: zlib wrapper test
+ - name: zlib wrapper test # ~7.5mn
if: branch = master
script:
- make gpp6install valgrindinstall
- make -C zlibWrapper test
- make -C zlibWrapper valgrindTest
- - name: LZ4, thread pool, and partial libs tests
+ - name: LZ4, thread pool, and partial libs tests # ~2mn
if: branch = master
script:
- make lz4install
- bash tests/libzstd_partial_builds.sh
# meson dedicated test
- - name: Xenial (Meson + clang)
- # env: ALLOW_FAILURES=true
+ - name: Xenial (Meson + clang) # ~8mn
+ if: branch = master
dist: xenial
language: cpp
compiler: clang