Skip to content

Commit 794ea1b

Browse files
authored
Merge pull request #3984 from facebook/dev
v1.5.6
2 parents 63779c7 + 78f732c commit 794ea1b

File tree

155 files changed

+8838
-4609
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+8838
-4609
lines changed

.cirrus.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ task:
22
name: FreeBSD (shortest)
33
freebsd_instance:
44
matrix:
5-
image_family: freebsd-13-0
6-
image_family: freebsd-12-2
5+
image_family: freebsd-14-0
6+
image_family: freebsd-13-2
77
install_script: pkg install -y gmake coreutils
88
script: |
99
MOREFLAGS="-Werror" gmake -j all

.github/workflows/commit.yml

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: facebook/zstd/commit
2+
on:
3+
push:
4+
branches:
5+
- dev
6+
permissions: read-all
7+
jobs:
8+
short-tests-0:
9+
runs-on: ubuntu-latest
10+
services:
11+
docker:
12+
image: fbopensource/zstd-circleci-primary:0.0.1
13+
options: --entrypoint /bin/bash
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Install Dependencies
17+
run: |
18+
sudo apt-get update
19+
sudo apt-get install libcurl4-gnutls-dev
20+
- name: Test
21+
run: |
22+
./tests/test-license.py
23+
cc -v
24+
CFLAGS="-O0 -Werror -pedantic" make allmost; make clean
25+
make c99build; make clean
26+
make c11build; make clean
27+
make -j regressiontest; make clean
28+
make shortest; make clean
29+
make cxxtest; make clean
30+
short-tests-1:
31+
runs-on: ubuntu-latest
32+
services:
33+
docker:
34+
image: fbopensource/zstd-circleci-primary:0.0.1
35+
options: --entrypoint /bin/bash
36+
steps:
37+
- uses: actions/checkout@v4
38+
- name: Install Dependencies
39+
run: |
40+
sudo apt-get update
41+
sudo apt-get install gcc-powerpc-linux-gnu gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-ppc64-powerpc-cross libcurl4-gnutls-dev lib64gcc-11-dev-powerpc-cross
42+
- name: Test
43+
run: |-
44+
make gnu90build; make clean
45+
make gnu99build; make clean
46+
make ppc64build V=1; make clean
47+
make ppcbuild V=1; make clean
48+
make armbuild V=1; make clean
49+
make aarch64build V=1; make clean
50+
make -C tests test-legacy test-longmatch; make clean
51+
make -C lib libzstd-nomt; make clean
52+
regression-test:
53+
runs-on: ubuntu-latest
54+
services:
55+
docker:
56+
image: fbopensource/zstd-circleci-primary:0.0.1
57+
options: --entrypoint /bin/bash
58+
env:
59+
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts"
60+
steps:
61+
- uses: actions/checkout@v4
62+
- name: restore_cache
63+
uses: actions/cache@v4
64+
with:
65+
key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
66+
path: tests/regression/cache
67+
restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
68+
- name: Install Dependencies
69+
run: |
70+
sudo apt-get update
71+
sudo apt-get install libcurl4-gnutls-dev
72+
- name: Regression Test
73+
run: |
74+
make -C programs zstd
75+
make -C tests/regression test
76+
mkdir -p $CIRCLE_ARTIFACTS
77+
./tests/regression/test \
78+
--cache tests/regression/cache \
79+
--output $CIRCLE_ARTIFACTS/results.csv \
80+
--zstd programs/zstd
81+
echo "NOTE: The new results.csv is uploaded as an artifact to this job"
82+
echo " If this fails, go to the Artifacts pane in CircleCI, "
83+
echo " download /tmp/circleci-artifacts/results.csv, and if they "
84+
echo " are still good, copy it into the repo and commit it."
85+
echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv"
86+
diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv
87+
- uses: actions/upload-artifact@v4
88+
with:
89+
path: "/tmp/circleci-artifacts"

.github/workflows/dev-long-tests.yml

+44-44
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
make-all:
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
18+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
1919
- name: make all
2020
run: make all
2121

@@ -26,15 +26,15 @@ jobs:
2626
DEVNULLRIGHTS: 1
2727
READFROMBLOCKDEVICE: 1
2828
steps:
29-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
29+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
3030
- name: make test
3131
run: make test
3232

3333
# lasts ~26mn
3434
make-test-osx:
3535
runs-on: macos-latest
3636
steps:
37-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
37+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
3838
- name: OS-X test
3939
run: make test # make -c lib all doesn't work because of the fact that it's not a tty
4040

@@ -45,7 +45,7 @@ jobs:
4545
DEVNULLRIGHTS: 1
4646
READFROMBLOCKDEVICE: 1
4747
steps:
48-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
48+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
4949
- name: make test
5050
run: |
5151
sudo apt-get -qqq update
@@ -55,37 +55,37 @@ jobs:
5555
no-intrinsics-fuzztest:
5656
runs-on: ubuntu-latest
5757
steps:
58-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
58+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
5959
- name: no intrinsics fuzztest
6060
run: MOREFLAGS="-DZSTD_NO_INTRINSICS" make -C tests fuzztest
6161

6262
tsan-zstreamtest:
63-
runs-on: ubuntu-latest
63+
runs-on: ubuntu-20.04
6464
steps:
65-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
65+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
6666
- name: thread sanitizer zstreamtest
6767
run: CC=clang ZSTREAM_TESTTIME=-T3mn make tsan-test-zstream
6868

6969
ubsan-zstreamtest:
70-
runs-on: ubuntu-latest
70+
runs-on: ubuntu-20.04
7171
steps:
72-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
72+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
7373
- name: undefined behavior sanitizer zstreamtest
7474
run: CC=clang make uasan-test-zstream
7575

7676
# lasts ~15mn
7777
tsan-fuzztest:
78-
runs-on: ubuntu-latest
78+
runs-on: ubuntu-20.04
7979
steps:
80-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
80+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
8181
- name: thread sanitizer fuzztest
8282
run: CC=clang make tsan-fuzztest
8383

8484

8585
big-tests-zstreamtest32:
8686
runs-on: ubuntu-latest
8787
steps:
88-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
88+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
8989
- name: zstream tests in 32bit mode, with big tests
9090
run: |
9191
sudo apt-get -qqq update
@@ -94,9 +94,9 @@ jobs:
9494
9595
# lasts ~23mn
9696
gcc-8-asan-ubsan-testzstd:
97-
runs-on: ubuntu-latest
97+
runs-on: ubuntu-20.04
9898
steps:
99-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
99+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
100100
- name: gcc-8 + ASan + UBSan + Test Zstd
101101
# See https://askubuntu.com/a/1428822
102102
run: |
@@ -106,16 +106,16 @@ jobs:
106106
CC=gcc-8 make -j uasan-test-zstd </dev/null V=1
107107
108108
clang-asan-ubsan-testzstd:
109-
runs-on: ubuntu-latest
109+
runs-on: ubuntu-20.04
110110
steps:
111-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
111+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
112112
- name: clang + ASan + UBSan + Test Zstd
113113
run: CC=clang make -j uasan-test-zstd </dev/null V=1
114114

115115
gcc-asan-ubsan-testzstd-32bit:
116-
runs-on: ubuntu-latest
116+
runs-on: ubuntu-20.04
117117
steps:
118-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
118+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
119119
- name: ASan + UBSan + Test Zstd, 32bit mode
120120
run: |
121121
sudo apt-get -qqq update
@@ -127,9 +127,9 @@ jobs:
127127
# so any data coming from these libraries is always considered "uninitialized"
128128

129129
gcc-8-asan-ubsan-fuzz:
130-
runs-on: ubuntu-latest
130+
runs-on: ubuntu-20.04
131131
steps:
132-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
132+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
133133
- name: gcc-8 + ASan + UBSan + Fuzz Test
134134
# See https://askubuntu.com/a/1428822
135135
run: |
@@ -139,67 +139,67 @@ jobs:
139139
CC=gcc-8 FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
140140
141141
clang-asan-ubsan-fuzz:
142-
runs-on: ubuntu-latest
142+
runs-on: ubuntu-20.04
143143
steps:
144-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
144+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
145145
- name: clang + ASan + UBSan + Fuzz Test
146146
run: CC=clang FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
147147

148148
gcc-asan-ubsan-fuzz32:
149-
runs-on: ubuntu-latest
149+
runs-on: ubuntu-20.04
150150
steps:
151-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
151+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
152152
- name: ASan + UBSan + Fuzz Test 32bit
153153
run: |
154154
sudo apt-get -qqq update
155155
make libc6install
156156
CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
157157
158158
clang-asan-ubsan-fuzz32:
159-
runs-on: ubuntu-latest
159+
runs-on: ubuntu-20.04
160160
steps:
161-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
161+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
162162
- name: clang + ASan + UBSan + Fuzz Test 32bit
163163
run: |
164164
sudo apt-get -qqq update
165165
make libc6install
166166
CC=clang CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
167167
168168
asan-ubsan-regression:
169-
runs-on: ubuntu-latest
169+
runs-on: ubuntu-20.04
170170
steps:
171-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
171+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
172172
- name: ASan + UBSan + Regression Test
173173
run: make -j uasanregressiontest
174174

175175
clang-ubsan-regression:
176-
runs-on: ubuntu-latest
176+
runs-on: ubuntu-20.04
177177
steps:
178-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
178+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
179179
- name: clang + ASan + UBSan + Regression Test
180180
run: CC=clang make -j uasanregressiontest
181181

182182
msan-regression:
183-
runs-on: ubuntu-latest
183+
runs-on: ubuntu-20.04
184184
steps:
185-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
185+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
186186
- name: MSan + Regression Test
187187
run: make -j msanregressiontest
188188

189189
clang-msan-fuzz-unoptimized:
190-
runs-on: ubuntu-latest
190+
runs-on: ubuntu-20.04
191191
steps:
192-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
192+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
193193
- name: clang + MSan + Fuzz Test
194194
run: |
195195
sudo apt-get -qqq update
196196
sudo apt-get install clang
197197
CC=clang MOREFLAGS="-O0" make clean msan-fuzztest
198198
199199
clang-msan-fuzz:
200-
runs-on: ubuntu-latest
200+
runs-on: ubuntu-20.04
201201
steps:
202-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
202+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
203203
- name: clang + MSan + Fuzz Test
204204
run: |
205205
sudo apt-get -qqq update
@@ -208,9 +208,9 @@ jobs:
208208
209209
# lasts ~24mn
210210
clang-msan-testzstd:
211-
runs-on: ubuntu-latest
211+
runs-on: ubuntu-20.04
212212
steps:
213-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
213+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
214214
- name: clang + MSan + Test Zstd
215215
run: |
216216
sudo apt-get update
@@ -220,7 +220,7 @@ jobs:
220220
armfuzz:
221221
runs-on: ubuntu-latest
222222
steps:
223-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
223+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
224224
- name: Qemu ARM emulation + Fuzz Test
225225
run: |
226226
sudo apt-get -qqq update
@@ -230,7 +230,7 @@ jobs:
230230
valgrind-fuzz-test:
231231
runs-on: ubuntu-latest
232232
steps:
233-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
233+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
234234
- name: valgrind + fuzz test stack mode # ~ 7mn
235235
shell: 'script -q -e -c "bash {0}"'
236236
run: |
@@ -246,8 +246,8 @@ jobs:
246246
run:
247247
shell: msys2 {0}
248248
steps:
249-
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # tag=v3
250-
- uses: msys2/setup-msys2@5beef6d11f48bba68b9eb503e3adc60b23c0cc36 # tag=v2
249+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
250+
- uses: msys2/setup-msys2@cc11e9188b693c2b100158c3322424c4cc1dadea # tag=v2.22.0
251251
with:
252252
msystem: MINGW64
253253
install: make
@@ -269,7 +269,7 @@ jobs:
269269
270270
# lasts ~20mn
271271
oss-fuzz:
272-
runs-on: ubuntu-latest
272+
runs-on: ubuntu-20.04
273273
strategy:
274274
fail-fast: false
275275
matrix:
@@ -290,7 +290,7 @@ jobs:
290290
dry-run: false
291291
sanitizer: ${{ matrix.sanitizer }}
292292
- name: Upload Crash
293-
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.1.2
293+
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # tag=v4.3.1
294294
if: failure() && steps.build.outcome == 'success'
295295
with:
296296
name: ${{ matrix.sanitizer }}-artifacts

0 commit comments

Comments
 (0)