1name: facebook/zstd/nightly 2on: 3 schedule: 4 - cron: 0 0 * * * 5 push: 6 branches: 7 - release 8 - dev 9 - master 10permissions: read-all 11jobs: 12 regression-test: 13 runs-on: ubuntu-latest 14 services: 15 docker: 16 image: fbopensource/zstd-circleci-primary:0.0.1 17 options: --entrypoint /bin/bash 18 env: 19 CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts" 20 steps: 21 - uses: actions/checkout@v4 22 - uses: actions/cache@v4 23 with: 24 key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 25 path: tests/regression/cache 26 restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 27 - uses: actions/upload-artifact@v4 28 with: 29 path: "/tmp/circleci-artifacts" 30 - name: Install Dependencies 31 run: | 32 sudo apt-get update 33 sudo apt-get install libcurl4-gnutls-dev 34 - name: Regression Test 35 run: | 36 make -C programs zstd 37 make -C tests/regression test 38 mkdir -p $CIRCLE_ARTIFACTS 39 ./tests/regression/test \ 40 --cache tests/regression/cache \ 41 --output $CIRCLE_ARTIFACTS/results.csv \ 42 --zstd programs/zstd 43 echo "NOTE: The new results.csv is uploaded as an artifact to this job" 44 echo " If this fails, go to the Artifacts pane in CircleCI, " 45 echo " download /tmp/circleci-artifacts/results.csv, and if they " 46 echo " are still good, copy it into the repo and commit it." 47 echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv" 48 diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv 49 50# Longer tests 51 #- make -C tests test-zstd-nolegacy && make clean 52 #- pyenv global 3.4.4; make -C tests versionsTest && make clean 53 #- make zlibwrapper && make clean 54 #- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean 55 #- make uasan && make clean 56 #- make asan32 && make clean 57 #- make -C tests test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu" 58# Valgrind tests 59 #- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean 60 #- make -C tests valgrindTest && make clean 61# ARM, AArch64, PowerPC, PowerPC64 tests 62 #- make ppctest && make clean 63 #- make ppc64test && make clean 64 #- make armtest && make clean 65 #- make aarch64test && make clean 66