Skip to content

Commit 945f277

Browse files
authored
Merge pull request #3487 from facebook/dev
release v1.5.4
2 parents e47e674 + 515266e commit 945f277

File tree

478 files changed

+15051
-6809
lines changed

Some content is hidden

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

478 files changed

+15051
-6809
lines changed

.circleci/config.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ jobs:
77
# preinstalled to reduce installation time.
88
docker:
99
- image: fbopensource/zstd-circleci-primary:0.0.1
10-
# TODO: Re-enable aarch64 build:
11-
# make aarch64build && make clean
1210
steps:
1311
- checkout
1412
- run:
@@ -36,6 +34,7 @@ jobs:
3634
make ppc64build V=1; make clean
3735
make ppcbuild V=1; make clean
3836
make armbuild V=1; make clean
37+
make aarch64build V=1; make clean
3938
make -C tests test-legacy test-longmatch; make clean
4039
make -C lib libzstd-nomt; make clean
4140
# This step should only be run in a cron job

.circleci/images/primary/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM circleci/buildpack-deps:bionic
1+
FROM circleci/buildpack-deps:focal
22

33
RUN sudo dpkg --add-architecture i386
44
RUN sudo apt-get -y -qq update

.cirrus.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ task:
22
name: FreeBSD (shortest)
33
freebsd_instance:
44
matrix:
5+
image_family: freebsd-13-0
56
image_family: freebsd-12-2
6-
# The stable 11.3 image causes "Agent is not responding" so use a snapshot
7-
image_family: freebsd-11-3-snap
87
install_script: pkg install -y gmake coreutils
98
script: |
109
MOREFLAGS="-Werror" gmake -j all

.github/ISSUE_TEMPLATE/bug_report.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ If applicable, add screenshots and charts to help explain your problem.
2626
**Desktop (please complete the following information):**
2727
- OS: [e.g. Mac]
2828
- Version [e.g. 22]
29-
- Compiler [e.g gcc]
30-
- Flags [e.g O2]
29+
- Compiler [e.g. gcc]
30+
- Flags [e.g. O2]
3131
- Other relevant hardware specs [e.g. Dual-core]
3232
- Build system [e.g. Makefile]
3333

.github/dependabot.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"

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

+97-66
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
make-all:
1414
runs-on: ubuntu-latest
1515
steps:
16-
- uses: actions/checkout@v2
16+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
1717
- name: make all
1818
run: make all
1919

@@ -24,57 +24,85 @@ jobs:
2424
DEVNULLRIGHTS: 1
2525
READFROMBLOCKDEVICE: 1
2626
steps:
27-
- uses: actions/checkout@v2
27+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
2828
- name: make test
2929
run: make test
3030

3131
# lasts ~26mn
3232
make-test-osx:
3333
runs-on: macos-latest
3434
steps:
35-
- uses: actions/checkout@v2
35+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
3636
- name: OS-X test
3737
run: make test # make -c lib all doesn't work because of the fact that it's not a tty
3838

3939
no-intrinsics-fuzztest:
4040
runs-on: ubuntu-latest
4141
steps:
42-
- uses: actions/checkout@v2
42+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
4343
- name: no intrinsics fuzztest
4444
run: MOREFLAGS="-DZSTD_NO_INTRINSICS" make -C tests fuzztest
4545

4646
tsan-zstreamtest:
4747
runs-on: ubuntu-latest
4848
steps:
49-
- uses: actions/checkout@v2
49+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
5050
- name: thread sanitizer zstreamtest
5151
run: CC=clang ZSTREAM_TESTTIME=-T3mn make tsan-test-zstream
5252

53+
ubsan-zstreamtest:
54+
runs-on: ubuntu-latest
55+
steps:
56+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
57+
- name: undefined behavior sanitizer zstreamtest
58+
run: CC=clang make uasan-test-zstream
59+
5360
# lasts ~15mn
5461
tsan-fuzztest:
5562
runs-on: ubuntu-latest
5663
steps:
57-
- uses: actions/checkout@v2
64+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
5865
- name: thread sanitizer fuzztest
5966
run: CC=clang make tsan-fuzztest
6067

68+
69+
big-tests-zstreamtest32:
70+
runs-on: ubuntu-latest
71+
steps:
72+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
73+
- name: zstream tests in 32bit mode, with big tests
74+
run: |
75+
sudo apt-get -qqq update
76+
make libc6install
77+
CC=clang make -C tests test-zstream32 FUZZER_FLAGS="--big-tests"
78+
6179
# lasts ~23mn
6280
gcc-8-asan-ubsan-testzstd:
6381
runs-on: ubuntu-latest
6482
steps:
65-
- uses: actions/checkout@v2
83+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
6684
- name: gcc-8 + ASan + UBSan + Test Zstd
85+
# See https://askubuntu.com/a/1428822
6786
run: |
87+
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list
6888
sudo apt-get -qqq update
6989
make gcc8install
7090
CC=gcc-8 make -j uasan-test-zstd </dev/null V=1
7191
92+
clang-asan-ubsan-testzstd:
93+
runs-on: ubuntu-latest
94+
steps:
95+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
96+
- name: clang + ASan + UBSan + Test Zstd
97+
run: CC=clang make -j uasan-test-zstd </dev/null V=1
98+
7299
gcc-asan-ubsan-testzstd-32bit:
73100
runs-on: ubuntu-latest
74101
steps:
75-
- uses: actions/checkout@v2
102+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
76103
- name: ASan + UBSan + Test Zstd, 32bit mode
77104
run: |
105+
sudo apt-get -qqq update
78106
make libc6install
79107
make -j uasan-test-zstd32 V=1
80108
@@ -85,39 +113,67 @@ jobs:
85113
gcc-8-asan-ubsan-fuzz:
86114
runs-on: ubuntu-latest
87115
steps:
88-
- uses: actions/checkout@v2
116+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
89117
- name: gcc-8 + ASan + UBSan + Fuzz Test
118+
# See https://askubuntu.com/a/1428822
90119
run: |
120+
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list
121+
sudo apt-get -qqq update
91122
make gcc8install
92123
CC=gcc-8 FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
93124
125+
clang-asan-ubsan-fuzz:
126+
runs-on: ubuntu-latest
127+
steps:
128+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
129+
- name: clang + ASan + UBSan + Fuzz Test
130+
run: CC=clang FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest
131+
94132
gcc-asan-ubsan-fuzz32:
95133
runs-on: ubuntu-latest
96134
steps:
97-
- uses: actions/checkout@v2
135+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
98136
- name: ASan + UBSan + Fuzz Test 32bit
99137
run: |
138+
sudo apt-get -qqq update
100139
make libc6install
101140
CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
102141
142+
clang-asan-ubsan-fuzz32:
143+
runs-on: ubuntu-latest
144+
steps:
145+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
146+
- name: clang + ASan + UBSan + Fuzz Test 32bit
147+
run: |
148+
sudo apt-get -qqq update
149+
make libc6install
150+
CC=clang CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest
151+
103152
asan-ubsan-regression:
104153
runs-on: ubuntu-latest
105154
steps:
106-
- uses: actions/checkout@v2
155+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
107156
- name: ASan + UBSan + Regression Test
108157
run: make -j uasanregressiontest
109158

159+
clang-ubsan-regression:
160+
runs-on: ubuntu-latest
161+
steps:
162+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
163+
- name: clang + ASan + UBSan + Regression Test
164+
run: CC=clang make -j uasanregressiontest
165+
110166
msan-regression:
111167
runs-on: ubuntu-latest
112168
steps:
113-
- uses: actions/checkout@v2
169+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
114170
- name: MSan + Regression Test
115171
run: make -j msanregressiontest
116172

117173
clang-msan-fuzz:
118174
runs-on: ubuntu-latest
119175
steps:
120-
- uses: actions/checkout@v2
176+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
121177
- name: clang + MSan + Fuzz Test
122178
run: |
123179
sudo apt-get -qqq update
@@ -128,7 +184,7 @@ jobs:
128184
clang-msan-testzstd:
129185
runs-on: ubuntu-latest
130186
steps:
131-
- uses: actions/checkout@v2
187+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
132188
- name: clang + MSan + Test Zstd
133189
run: |
134190
sudo apt-get update
@@ -138,7 +194,7 @@ jobs:
138194
armfuzz:
139195
runs-on: ubuntu-latest
140196
steps:
141-
- uses: actions/checkout@v2
197+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
142198
- name: Qemu ARM emulation + Fuzz Test
143199
run: |
144200
sudo apt-get -qqq update
@@ -148,67 +204,42 @@ jobs:
148204
valgrind-fuzz-test:
149205
runs-on: ubuntu-latest
150206
steps:
151-
- uses: actions/checkout@v2
207+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
152208
- name: valgrind + fuzz test stack mode # ~ 7mn
153209
shell: 'script -q -e -c "bash {0}"'
154210
run: |
211+
sudo apt-get -qqq update
155212
make valgrindinstall
156-
make -C tests valgrindTest
213+
make -C tests test-valgrind
157214
make clean
158215
make -C tests test-fuzzer-stackmode
159216
160217
mingw-long-test:
161218
runs-on: windows-latest
162-
strategy:
163-
fail-fast: false
164-
matrix:
165-
include: [
166-
{ compiler: clang, platform: x64, action: build, script: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion -Wno-unused-command-line-argument -Wno-implicit-int-float-conversion' make -j allzstd V=1"},
167-
{ compiler: gcc, platform: x64, action: test, script: ""},
168-
]
219+
defaults:
220+
run:
221+
shell: msys2 {0}
169222
steps:
170-
- uses: actions/checkout@v2
171-
- name: Mingw long test
223+
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
224+
- uses: msys2/setup-msys2@v2
225+
with:
226+
msystem: MINGW64
227+
install: make
228+
update: true
229+
# Based on https://ariya.io/2020/07/on-github-actions-with-msys2
230+
- name: install mingw gcc
231+
run: pacman --noconfirm -S gcc
232+
- name: MINGW64 gcc fuzztest
172233
run: |
173-
$env:PATH_ORIGINAL = $env:PATH
174-
$env:PATH_MINGW32 = "C:\msys64\mingw32\bin"
175-
$env:PATH_MINGW64 = "C:\msys64\mingw64\bin"
176-
COPY C:\msys64\usr\bin\make.exe C:\msys64\mingw32\bin\make.exe
177-
COPY C:\msys64\usr\bin\make.exe C:\msys64\mingw64\bin\make.exe
178-
IF ("${{matrix.platform}}" -eq "x64")
179-
{
180-
$env:PATH = $env:PATH_MINGW64 + ";" + $env:PATH_ORIGINAL
181-
}
182-
ELSEIF ("${{matrix.platform}}" -eq "x86")
183-
{
184-
$env:PATH = $env:PATH_MINGW32 + ";" + $env:PATH_ORIGINAL
185-
}
186-
IF ("${{matrix.action}}" -eq "build")
187-
{
188-
make -v
189-
sh -c "${{matrix.compiler}} -v"
190-
ECHO "Building zlib to static link"
191-
$env:CC = "${{matrix.compiler}}"
192-
sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib"
193-
sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
194-
ECHO "Building zstd"
195-
$env:CPPFLAGS = "-I../../zlib"
196-
$env:LDFLAGS = "../../zlib/libz.a"
197-
sh -c "${{matrix.script}}"
198-
}
199-
ELSEIF ("${{matrix.action}}" -eq "test")
200-
{
201-
ECHO "Testing ${{matrix.compiler}} ${{matrix.platform}}"
202-
$env:CC = "gcc"
203-
$env:CXX = "g++"
204-
MKDIR build\cmake\build
205-
CD build\cmake\build
206-
$env:FUZZERTEST = "-T2mn"
207-
$env:ZSTREAM_TESTTIME = "-T2mn"
208-
cmake -G "Visual Studio 14 2015 Win64" ..
209-
cd ..\..\..
210-
make clean
211-
}
234+
export CC="gcc"
235+
export CXX="g++"
236+
export FUZZERTEST="-T2mn"
237+
export ZSTREAM_TESTTIME="-T2mn"
238+
echo "Testing $CC $CXX MINGW64"
239+
make -v
240+
$CC --version
241+
$CXX --version
242+
make -C tests fuzztest
212243
213244
# lasts ~20mn
214245
oss-fuzz:
@@ -233,7 +264,7 @@ jobs:
233264
dry-run: false
234265
sanitizer: ${{ matrix.sanitizer }}
235266
- name: Upload Crash
236-
uses: actions/upload-artifact@v1
267+
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.1.2
237268
if: failure() && steps.build.outcome == 'success'
238269
with:
239270
name: ${{ matrix.sanitizer }}-artifacts

0 commit comments

Comments
 (0)