| # 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: Xenial (Meson + clang) # ~15mn |
| dist: bionic |
| 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/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 |