git subrepo pull (merge) --force deps/libchdr
[pcsx_rearmed.git] / deps / libchdr / deps / zstd-1.5.5 / .circleci / config.yml
CommitLineData
648db22b 1version: 2
2
3jobs:
4 # the first half of the jobs are in this test
5 short-tests-0:
6 # TODO: Create a small custom docker image with all the dependencies we need
7 # preinstalled to reduce installation time.
8 docker:
9 - image: fbopensource/zstd-circleci-primary:0.0.1
10 steps:
11 - checkout
12 - run:
13 name: Test
14 command: |
15 ./tests/test-license.py
16 cc -v
17 CFLAGS="-O0 -Werror -pedantic" make allmost; make clean
18 make c99build; make clean
19 make c11build; make clean
20 make -j regressiontest; make clean
21 make shortest; make clean
22 make cxxtest; make clean
23 # the second half of the jobs are in this test
24 short-tests-1:
25 docker:
26 - image: fbopensource/zstd-circleci-primary:0.0.1
27 steps:
28 - checkout
29 - run:
30 name: Test
31 command: |
32 make gnu90build; make clean
33 make gnu99build; make clean
34 make ppc64build V=1; make clean
35 make ppcbuild V=1; make clean
36 make armbuild V=1; make clean
37 make aarch64build V=1; make clean
38 make -C tests test-legacy test-longmatch; make clean
39 make -C lib libzstd-nomt; make clean
40 # This step should only be run in a cron job
41 regression-test:
42 docker:
43 - image: fbopensource/zstd-circleci-primary:0.0.1
44 environment:
45 CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
46 steps:
47 - checkout
48 # Restore the cached resources.
49 - restore_cache:
50 # We try our best to bust the cache when the data changes by hashing
51 # data.c. If that doesn't work, simply update the version number here
52 # and below. If we fail to bust the cache, the regression testing will
53 # still work, since it has its own stamp, but will need to redownload
54 # everything.
55 keys:
56 - regression-cache-{{ checksum "tests/regression/data.c" }}-v0
57 - run:
58 name: Regression Test
59 command: |
60 make -C programs zstd
61 make -C tests/regression test
62 mkdir -p $CIRCLE_ARTIFACTS
63 ./tests/regression/test \
64 --cache tests/regression/cache \
65 --output $CIRCLE_ARTIFACTS/results.csv \
66 --zstd programs/zstd
67 echo "NOTE: The new results.csv is uploaded as an artifact to this job"
68 echo " If this fails, go to the Artifacts pane in CircleCI, "
69 echo " download /tmp/circleci-artifacts/results.csv, and if they "
70 echo " are still good, copy it into the repo and commit it."
71 echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv"
72 diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv
73 # Only save the cache on success (default), since if the failure happened
74 # before we stamp the data cache, we will have a bad cache for this key.
75 - save_cache:
76 key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
77 paths:
78 - tests/regression/cache
79 - store_artifacts:
80 path: /tmp/circleci-artifacts
81
82
83workflows:
84 version: 2
85 commit:
86 jobs:
87 # Run the tests in parallel
88 - short-tests-0
89 - short-tests-1
90 - regression-test
91
92 nightly:
93 triggers:
94 - schedule:
95 cron: "0 0 * * *"
96 filters:
97 branches:
98 only:
99 - release
100 - dev
101 - master
102 jobs:
103 # Run daily regression tests
104 - regression-test
105
106
107
108 # Longer tests
109 #- make -C tests test-zstd-nolegacy && make clean
110 #- pyenv global 3.4.4; make -C tests versionsTest && make clean
111 #- make zlibwrapper && make clean
112 #- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean
113 #- make uasan && make clean
114 #- make asan32 && make clean
115 #- make -C tests test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu"
116 # Valgrind tests
117 #- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean
118 #- make -C tests valgrindTest && make clean
119 # ARM, AArch64, PowerPC, PowerPC64 tests
120 #- make ppctest && make clean
121 #- make ppc64test && make clean
122 #- make armtest && make clean
123 #- make aarch64test && make clean