mirror of
https://github.com/facebook/zstd.git
synced 2025-10-04 00:02:33 -04:00
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.28.0 to 2.29.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](40677d36a5...fb197b72ce
)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
325 lines
10 KiB
YAML
325 lines
10 KiB
YAML
name: dev-long-tests
|
|
# Tests generally longer than 10mn
|
|
|
|
concurrency:
|
|
group: long-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ dev, release, actionsTest ]
|
|
|
|
permissions: read-all
|
|
|
|
jobs:
|
|
# lasts ~7mn
|
|
make-all:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: make all
|
|
run: make all
|
|
|
|
# lasts ~19mn
|
|
make-test:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
DEVNULLRIGHTS: 1
|
|
READFROMBLOCKDEVICE: 1
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: make test
|
|
run: |
|
|
make test
|
|
make -j zstd
|
|
./tests/test_process_substitution.bash ./zstd
|
|
|
|
# lasts ~16mn
|
|
make-test-macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: make test on macos
|
|
run: make test
|
|
|
|
# lasts ~10mn
|
|
make-test-32bit:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
DEVNULLRIGHTS: 1
|
|
READFROMBLOCKDEVICE: 1
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: make test # note: `make -j test success` seems to require a clean state
|
|
run: |
|
|
sudo apt-get -qqq update
|
|
make libc6install
|
|
make clean
|
|
CFLAGS="-m32 -O2" make -j test V=1
|
|
|
|
# lasts ~7mn
|
|
test-largeDictionary:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: largeDictionary
|
|
run: |
|
|
CFLAGS="-Werror -O3" make -j -C tests test-largeDictionary
|
|
|
|
# lasts ~9mn
|
|
no-intrinsics-fuzztest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: no intrinsics fuzztest
|
|
run: MOREFLAGS="-DZSTD_NO_INTRINSICS" make -C tests fuzztest
|
|
|
|
# lasts ~8mn
|
|
tsan-zstreamtest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: thread sanitizer zstreamtest
|
|
run: CC=clang ZSTREAM_TESTTIME=-T3mn make tsan-test-zstream
|
|
|
|
uasan-zstreamtest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: ub + address sanitizer on zstreamtest
|
|
run: CC=clang make uasan-test-zstream
|
|
|
|
# lasts ~11mn
|
|
tsan-fuzztest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: thread sanitizer fuzztest
|
|
run: CC=clang make tsan-fuzztest
|
|
|
|
big-tests-zstreamtest32:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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 ~13mn
|
|
gcc-8-asan-ubsan-testzstd:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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-fuzz32:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: clang + ASan + Fuzz Test 32bit
|
|
run: |
|
|
sudo apt-get -qqq update
|
|
make libc6install
|
|
CC=clang CFLAGS="-O3 -m32" FUZZER_FLAGS="--long-tests" make asan-fuzztest
|
|
|
|
# The following test seems to have issues on github CI specifically,
|
|
# it does not provide the `__mulodi4` instruction emulation
|
|
# required for signed 64-bit multiplication.
|
|
# Replaced by asan-only test (above)
|
|
#
|
|
# clang-asan-ubsan-fuzz32:
|
|
# runs-on: ubuntu-20.04
|
|
# steps:
|
|
# - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
# - 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: ASan + UBSan + Regression Test
|
|
run: make -j uasanregressiontest
|
|
|
|
clang-asan-ubsan-regression:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: clang + ASan + UBSan + Regression Test
|
|
run: CC=clang make -j uasanregressiontest
|
|
|
|
msan-regression:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: MSan + Regression Test
|
|
run: make -j msanregressiontest
|
|
|
|
clang-msan-fuzz-unoptimized:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: clang + MSan + Fuzz Test
|
|
run: |
|
|
sudo apt-get -qqq update
|
|
sudo apt-get install clang
|
|
CC=clang MOREFLAGS="-O0" make clean msan-fuzztest
|
|
|
|
clang-msan-fuzz:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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
|
|
|
|
clang-msan-testzstd:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- name: clang + MSan + Test Zstd
|
|
run: |
|
|
CC=clang make -j msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0 V=1
|
|
|
|
armfuzz:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0
|
|
- uses: msys2/setup-msys2@fb197b72ce45fb24f17bf3f807a388985654d1f2 # tag=v2.29.0
|
|
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@5d5d22a31266ced268874388b861e4b58bb5c2f3 # tag=v4.3.1
|
|
if: failure() && steps.build.outcome == 'success'
|
|
with:
|
|
name: ${{ matrix.sanitizer }}-artifacts
|
|
path: ./out/artifacts
|