summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/zstd/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/zstd/.travis.yml')
-rw-r--r--3rdparty/zstd/.travis.yml128
1 files changed, 128 insertions, 0 deletions
diff --git a/3rdparty/zstd/.travis.yml b/3rdparty/zstd/.travis.yml
new file mode 100644
index 00000000000..b96bf8ba217
--- /dev/null
+++ b/3rdparty/zstd/.travis.yml
@@ -0,0 +1,128 @@
+# 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