zstd/.travis.yml

158 lines
4.9 KiB
YAML
Raw Normal View History

2021-05-18 08:54:19 -07:00
# Travis CI is used to test platforms that github-actions currently doesn't support
# without either self-hosting or some finnicky work-around. Also, some tests
# are troublesome to migrate since GH Actions runs tests not in a tty.
2015-01-23 16:58:16 -08:00
language: c
git:
depth: 1
branches:
only:
- dev
- release
- master
2018-06-27 16:57:28 -07:00
- travisTest
2018-12-13 10:38:06 -08:00
addons:
apt:
update: true
env:
global:
2021-05-18 08:54:19 -07:00
- FUZZERTEST=-T1mn
ZSTREAM_TESTTIME=-T1mn
2018-12-13 10:38:06 -08:00
DECODECORPUS_TESTTIME=-T1mn
matrix:
fast_finish: true
include:
- name: S390X (big endian) + Fuzz test
dist: trusty
arch: s390x
script:
- FUZZER_FLAGS=--no-big-tests make -C tests fuzztest
- name: S390X (big endian) + Fuzz test + no intrinsics
dist: trusty
arch: s390x
script:
- MOREFLAGS="-DZSTD_NO_INTRINSICS" FUZZER_FLAGS=--no-big-tests make -C tests fuzztest
- name: arm64 # ~2.5 mn
os: linux
arch: arm64
script:
- make check
2021-05-18 08:54:19 -07:00
2021-05-26 11:51:04 -07:00
- name: arm64fuzz
os: linux
arch: arm64
script:
- make -C tests fuzztest
2021-05-18 08:54:19 -07:00
# TODO: migrate to GH actions once warnings are fixed
- name: Minimal Decompressor Macros # ~5mn
2018-12-05 14:04:57 -08:00
script:
- make clean && make -j all ZSTD_LIB_MINIFY=1 MOREFLAGS="-Werror"
2020-10-20 16:32:22 -07:00
- make clean && make check ZSTD_LIB_MINIFY=1 MOREFLAGS="-Werror"
- make clean && make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
2020-10-20 16:32:22 -07:00
- make clean && make check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
- make clean && make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
2020-10-20 16:32:22 -07:00
- make clean && make check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
- make clean && make -j all MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
2020-10-20 16:32:22 -07:00
- make clean && make check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
2018-12-05 14:04:57 -08:00
2021-05-18 08:54:19 -07:00
# TODO: migrate to GH actions once newest clang staticanalyze warnings are fixed
- name: static analyzer scanbuild # ~26mn
dist: trusty # note : it's important to pin down a version of static analyzer, since different versions report different false positives
2018-12-13 10:38:06 -08:00
script:
- make staticAnalyze
2021-05-18 08:54:19 -07:00
# GH actions can't run this command on OS-X, non-tty issues
- name: OS-X make all lib
os: osx
2018-12-13 10:38:06 -08:00
script:
2021-05-18 08:54:19 -07:00
- make -C lib all
2018-12-13 10:38:06 -08:00
# Introduced to check compat with old toolchains, to prevent e.g. #1872
- name: ARM Build Test (on Trusty)
dist: trusty
script:
- make arminstall
- make armbuild
- name: Qemu PPC + Fuzz Test # ~13mn
dist: trusty # it seems ppc cross-compilation fails on "current"
2018-12-13 10:38:06 -08:00
script:
- make ppcinstall
- make ppcfuzz
2021-05-18 08:54:19 -07:00
# check release number (release/new tag only)
2018-12-13 10:38:06 -08:00
- name: Tag-Specific Test
if: tag =~ ^v[0-9]\.[0-9]
script:
- make -C tests checkTag
- tests/checkTag "$TRAVIS_BRANCH"
- name: PPC64LE + Fuzz test # ~13mn
arch: ppc64le
2021-05-18 08:54:19 -07:00
env:
- FUZZER_FLAGS=--no-big-tests
- MOREFLAGS="-static"
script:
- cat /proc/cpuinfo
2021-05-18 08:54:19 -07:00
- make -C tests fuzztest
2020-05-21 10:26:40 -07:00
- name: Qemu PPC64 + Fuzz test # ~13mn, presumed Big-Endian (?)
dist: trusty # note : PPC64 cross-compilation for Qemu tests seems broken on Xenial
script:
- make ppcinstall
- make ppc64fuzz
# note : we already have aarch64 tests on hardware
- name: Qemu aarch64 + Fuzz Test (on Xenial) # ~14mn
dist: xenial
script:
- make arminstall
- make aarch64fuzz
2021-05-18 08:54:19 -07:00
- name: Versions Compatibility Test # 11.5mn
script:
- make -C tests versionsTest
2018-12-24 03:31:40 -08:00
# meson dedicated test
2020-05-21 14:19:28 -07:00
- name: Xenial (Meson + clang) # ~15mn
dist: bionic
2018-12-13 10:38:06 -08:00
language: cpp
compiler: clang
2018-12-27 19:07:05 -08:00
install:
2018-12-13 10:38:06 -08:00
- sudo apt-get install -qq liblz4-dev valgrind tree
2019-06-28 11:42:17 -07:00
- |
travis_retry curl -o ~/ninja.zip -L 'https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip' &&
unzip ~/ninja.zip -d ~/.local/bin
- |
travis_retry curl -o ~/get-pip.py -L 'https://bootstrap.pypa.io/get-pip.py' &&
python3 ~/get-pip.py --user &&
pip3 install --user meson
script:
- |
meson setup \
--buildtype=debugoptimized \
-Db_lundef=false \
-Dauto_features=enabled \
-Dbin_programs=true \
-Dbin_tests=true \
-Dbin_contrib=true \
2019-06-28 11:42:17 -07:00
-Ddefault_library=both \
build/meson builddir
- pushd builddir
- ninja
- meson test --verbose --no-rebuild
2018-12-13 10:38:06 -08:00
- DESTDIR=./staging ninja install
- tree ./staging
after_failure:
- cat "$TRAVIS_BUILD_DIR"/builddir/meson-logs/testlog.txt
2019-10-22 17:43:29 -07:00
2018-12-13 10:38:06 -08:00
allow_failures:
2018-12-27 19:07:05 -08:00
- env: ALLOW_FAILURES=true