]>
Commit | Line | Data |
---|---|---|
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 | 4 | language: c |
0a25b13a | 5 | |
daec40db SP |
6 | git: |
7 | depth: 1 | |
85667997 | 8 | |
daec40db SP |
9 | branches: |
10 | only: | |
11 | - dev | |
c11db9c8 | 12 | - release |
daec40db | 13 | - master |
ed1a4298 | 14 | - travisTest |
1e008169 | 15 | |
b3be8994 LT |
16 | addons: |
17 | apt: | |
18 | update: true | |
19 | ||
20 | env: | |
21 | global: | |
bb0cd722 | 22 | - FUZZERTEST=-T1mn |
23 | ZSTREAM_TESTTIME=-T1mn | |
b3be8994 LT |
24 | DECODECORPUS_TESTTIME=-T1mn |
25 | ||
b3be8994 LT |
26 | matrix: |
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 |