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