# 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. language: c git: depth: 1 branches: only: - dev - release - master - travisTest addons: apt: update: true env: global: - FUZZERTEST=-T1mn ZSTREAM_TESTTIME=-T1mn 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 - name: arm64fuzz os: linux arch: arm64 script: - make -C tests fuzztest # TODO: migrate to GH Actions once newest clang staticanalyze warnings are fixed - name: static analyzer scanbuild # ~8mn dist: trusty # note : it's important to pin down a version of static analyzer, since different versions report different false positives script: - make staticAnalyze # GH actions can't run this command on OS-X, non-tty issues - name: OS-X make all lib os: osx script: - make -C lib all # 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 # check release number (release/new tag only) - 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 env: - FUZZER_FLAGS=--no-big-tests - MOREFLAGS="-static" script: - cat /proc/cpuinfo - make -C tests fuzztest # This test currently fails on GA specifically, for no obvious reason # (it works fine on travisCI, and on local test platforms). - name: Versions Compatibility Test # ~6mn script: - make -C tests versionsTest # meson dedicated test - name: Focal (Meson + clang) # ~15mn dist: focal language: cpp compiler: clang install: - sudo apt-get install -qq liblz4-dev valgrind tree - | 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/pip/3.6/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 \ -Ddefault_library=both \ build/meson builddir - pushd builddir - ninja - meson test --verbose --no-rebuild - DESTDIR=./staging ninja install - tree ./staging after_failure: - cat "$TRAVIS_BUILD_DIR"/builddir/meson-logs/testlog.txt allow_failures: - env: ALLOW_FAILURES=true