]> git.ipfire.org Git - thirdparty/zstd.git/blame - .travis.yml
early update literals
[thirdparty/zstd.git] / .travis.yml
CommitLineData
bb0cd722 1# Travis CI is used to test platforms that github-actions currently doesn't support
2# without either self-hosting or some finnicky work-around. Also, some tests
3# are troublesome to migrate since GH Actions runs tests not in a tty.
4856a001 4language: c
0a25b13a 5
daec40db
SP
6git:
7 depth: 1
85667997 8
daec40db
SP
9branches:
10 only:
11 - dev
c11db9c8 12 - release
daec40db 13 - master
ed1a4298 14 - travisTest
1e008169 15
b3be8994
LT
16addons:
17 apt:
18 update: true
19
20env:
21 global:
bb0cd722 22 - FUZZERTEST=-T1mn
23 ZSTREAM_TESTTIME=-T1mn
b3be8994
LT
24 DECODECORPUS_TESTTIME=-T1mn
25
b3be8994
LT
26matrix:
27 fast_finish: true
28 include:
2ff5c7b5
SH
29 - name: S390X (big endian) + Fuzz test
30 dist: trusty
31 arch: s390x
32 script:
33 - FUZZER_FLAGS=--no-big-tests make -C tests fuzztest
34
35 - name: S390X (big endian) + Fuzz test + no intrinsics
36 dist: trusty
37 arch: s390x
38 script:
39 - MOREFLAGS="-DZSTD_NO_INTRINSICS" FUZZER_FLAGS=--no-big-tests make -C tests fuzztest
40
228a6d28 41 - name: arm64 # ~2.5 mn
4899b6fd
BS
42 os: linux
43 arch: arm64
44 script:
45 - make check
ef695398 46
56b7dd12 47 - name: arm64fuzz
48 os: linux
49 arch: arm64
50 script:
51 - make -C tests fuzztest
4e2f6c11 52
b341aa2f 53 # TODO: migrate to GH Actions once newest clang staticanalyze warnings are fixed
72bd2a83 54 - name: static analyzer scanbuild # ~8mn
52dc6ff0 55 dist: trusty # note : it's important to pin down a version of static analyzer, since different versions report different false positives
b3be8994
LT
56 script:
57 - make staticAnalyze
ef695398 58
bb0cd722 59 # GH actions can't run this command on OS-X, non-tty issues
60 - name: OS-X make all lib
61 os: osx
b3be8994 62 script:
bb0cd722 63 - make -C lib all
b3be8994 64
976c055a
FH
65 # Introduced to check compat with old toolchains, to prevent e.g. #1872
66 - name: ARM Build Test (on Trusty)
67 dist: trusty
68 script:
69 - make arminstall
70 - make armbuild
71
bb0cd722 72 # check release number (release/new tag only)
b3be8994
LT
73 - name: Tag-Specific Test
74 if: tag =~ ^v[0-9]\.[0-9]
75 script:
76 - make -C tests checkTag
77 - tests/checkTag "$TRAVIS_BRANCH"
78
3746693b 79 - name: PPC64LE + Fuzz test # ~13mn
3746693b 80 arch: ppc64le
bb0cd722 81 env:
82 - FUZZER_FLAGS=--no-big-tests
83 - MOREFLAGS="-static"
3746693b
YC
84 script:
85 - cat /proc/cpuinfo
bb0cd722 86 - make -C tests fuzztest
3746693b 87
72bd2a83
YC
88 # This test currently fails on GA specifically, for no obvious reason
89 # (it works fine on travisCI, and on local test platforms).
90 - name: Versions Compatibility Test # ~6mn
bb0cd722 91 script:
92 - make -C tests versionsTest
d6e32afa 93
81dab45b 94 # meson dedicated test
26b21e48 95 - name: Xenial (Meson + clang) # ~15mn
988beb30 96 dist: bionic
b3be8994
LT
97 language: cpp
98 compiler: clang
889a4927 99 install:
b3be8994 100 - sudo apt-get install -qq liblz4-dev valgrind tree
4d156854
LT
101 - |
102 travis_retry curl -o ~/ninja.zip -L 'https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip' &&
103 unzip ~/ninja.zip -d ~/.local/bin
104 - |
105 travis_retry curl -o ~/get-pip.py -L 'https://bootstrap.pypa.io/get-pip.py' &&
106 python3 ~/get-pip.py --user &&
107 pip3 install --user meson
108 script:
109 - |
110 meson setup \
111 --buildtype=debugoptimized \
112 -Db_lundef=false \
113 -Dauto_features=enabled \
8e590a1a
LT
114 -Dbin_programs=true \
115 -Dbin_tests=true \
116 -Dbin_contrib=true \
4d156854 117 -Ddefault_library=both \
1d70bc3b 118 build/meson builddir
5d900ff7 119 - pushd builddir
1d70bc3b 120 - ninja
121 - meson test --verbose --no-rebuild
b3be8994
LT
122 - DESTDIR=./staging ninja install
123 - tree ./staging
1d70bc3b 124 after_failure:
125 - cat "$TRAVIS_BUILD_DIR"/builddir/meson-logs/testlog.txt
5228c071 126
b3be8994 127 allow_failures:
889a4927 128 - env: ALLOW_FAILURES=true