forked from polvorin/zstd-erlang
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RTI-13985] Update to zstd 1.5.4 (#38)
* [RTI-13985] Update to zstd 1.5.4 and switch to submoduling the dependency * [RTI-13985] CI: checkout submodules too * Revert back to static pinned release
- Loading branch information
Pablo Costas Sánchez
authored
Feb 14, 2023
1 parent
6eafbe3
commit 965f0c2
Showing
492 changed files
with
28,991 additions
and
11,447 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,271 @@ | ||
name: dev-long-tests | ||
# Tests longer than 10mn | ||
|
||
concurrency: | ||
group: long-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
on: | ||
pull_request: | ||
branches: [ dev, release, actionsTest ] | ||
|
||
jobs: | ||
make-all: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: make all | ||
run: make all | ||
|
||
# lasts ~24mn | ||
make-test: | ||
runs-on: ubuntu-latest | ||
env: | ||
DEVNULLRIGHTS: 1 | ||
READFROMBLOCKDEVICE: 1 | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: make test | ||
run: make test | ||
|
||
# lasts ~26mn | ||
make-test-osx: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: OS-X test | ||
run: make test # make -c lib all doesn't work because of the fact that it's not a tty | ||
|
||
no-intrinsics-fuzztest: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: no intrinsics fuzztest | ||
run: MOREFLAGS="-DZSTD_NO_INTRINSICS" make -C tests fuzztest | ||
|
||
tsan-zstreamtest: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: thread sanitizer zstreamtest | ||
run: CC=clang ZSTREAM_TESTTIME=-T3mn make tsan-test-zstream | ||
|
||
ubsan-zstreamtest: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: undefined behavior sanitizer zstreamtest | ||
run: CC=clang make uasan-test-zstream | ||
|
||
# lasts ~15mn | ||
tsan-fuzztest: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: thread sanitizer fuzztest | ||
run: CC=clang make tsan-fuzztest | ||
|
||
|
||
big-tests-zstreamtest32: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: zstream tests in 32bit mode, with big tests | ||
run: | | ||
sudo apt-get -qqq update | ||
make libc6install | ||
CC=clang make -C tests test-zstream32 FUZZER_FLAGS="--big-tests" | ||
# lasts ~23mn | ||
gcc-8-asan-ubsan-testzstd: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: gcc-8 + ASan + UBSan + Test Zstd | ||
# See https://askubuntu.com/a/1428822 | ||
run: | | ||
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list | ||
sudo apt-get -qqq update | ||
make gcc8install | ||
CC=gcc-8 make -j uasan-test-zstd </dev/null V=1 | ||
clang-asan-ubsan-testzstd: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: clang + ASan + UBSan + Test Zstd | ||
run: CC=clang make -j uasan-test-zstd </dev/null V=1 | ||
|
||
gcc-asan-ubsan-testzstd-32bit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: ASan + UBSan + Test Zstd, 32bit mode | ||
run: | | ||
sudo apt-get -qqq update | ||
make libc6install | ||
make -j uasan-test-zstd32 V=1 | ||
# Note : external libraries must be turned off when using MSAN tests, | ||
# because they are not msan-instrumented, | ||
# so any data coming from these libraries is always considered "uninitialized" | ||
|
||
gcc-8-asan-ubsan-fuzz: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: gcc-8 + ASan + UBSan + Fuzz Test | ||
# See https://askubuntu.com/a/1428822 | ||
run: | | ||
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list | ||
sudo apt-get -qqq update | ||
make gcc8install | ||
CC=gcc-8 FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest | ||
clang-asan-ubsan-fuzz: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: clang + ASan + UBSan + Fuzz Test | ||
run: CC=clang FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest | ||
|
||
gcc-asan-ubsan-fuzz32: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: ASan + UBSan + Fuzz Test 32bit | ||
run: | | ||
sudo apt-get -qqq update | ||
make libc6install | ||
CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest | ||
clang-asan-ubsan-fuzz32: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: clang + ASan + UBSan + Fuzz Test 32bit | ||
run: | | ||
sudo apt-get -qqq update | ||
make libc6install | ||
CC=clang CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest | ||
asan-ubsan-regression: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: ASan + UBSan + Regression Test | ||
run: make -j uasanregressiontest | ||
|
||
clang-ubsan-regression: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: clang + ASan + UBSan + Regression Test | ||
run: CC=clang make -j uasanregressiontest | ||
|
||
msan-regression: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: MSan + Regression Test | ||
run: make -j msanregressiontest | ||
|
||
clang-msan-fuzz: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: clang + MSan + Fuzz Test | ||
run: | | ||
sudo apt-get -qqq update | ||
sudo apt-get install clang | ||
CC=clang FUZZER_FLAGS="--long-tests" make clean msan-fuzztest | ||
# lasts ~24mn | ||
clang-msan-testzstd: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: clang + MSan + Test Zstd | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install clang | ||
CC=clang make msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0 V=1 | ||
armfuzz: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: Qemu ARM emulation + Fuzz Test | ||
run: | | ||
sudo apt-get -qqq update | ||
make arminstall | ||
make armfuzz | ||
valgrind-fuzz-test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- name: valgrind + fuzz test stack mode # ~ 7mn | ||
shell: 'script -q -e -c "bash {0}"' | ||
run: | | ||
sudo apt-get -qqq update | ||
make valgrindinstall | ||
make -C tests test-valgrind | ||
make clean | ||
make -C tests test-fuzzer-stackmode | ||
mingw-long-test: | ||
runs-on: windows-latest | ||
defaults: | ||
run: | ||
shell: msys2 {0} | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3 | ||
- uses: msys2/setup-msys2@v2 | ||
with: | ||
msystem: MINGW64 | ||
install: make | ||
update: true | ||
# Based on https://ariya.io/2020/07/on-github-actions-with-msys2 | ||
- name: install mingw gcc | ||
run: pacman --noconfirm -S gcc | ||
- name: MINGW64 gcc fuzztest | ||
run: | | ||
export CC="gcc" | ||
export CXX="g++" | ||
export FUZZERTEST="-T2mn" | ||
export ZSTREAM_TESTTIME="-T2mn" | ||
echo "Testing $CC $CXX MINGW64" | ||
make -v | ||
$CC --version | ||
$CXX --version | ||
make -C tests fuzztest | ||
# lasts ~20mn | ||
oss-fuzz: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
sanitizer: [address, undefined, memory] | ||
steps: | ||
- name: Build Fuzzers (${{ matrix.sanitizer }}) | ||
id: build | ||
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master | ||
with: | ||
oss-fuzz-project-name: 'zstd' | ||
dry-run: false | ||
sanitizer: ${{ matrix.sanitizer }} | ||
- name: Run Fuzzers (${{ matrix.sanitizer }}) | ||
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master | ||
with: | ||
oss-fuzz-project-name: 'zstd' | ||
fuzz-seconds: 600 | ||
dry-run: false | ||
sanitizer: ${{ matrix.sanitizer }} | ||
- name: Upload Crash | ||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.1.2 | ||
if: failure() && steps.build.outcome == 'success' | ||
with: | ||
name: ${{ matrix.sanitizer }}-artifacts | ||
path: ./out/artifacts |
Oops, something went wrong.