name: facebook/zstd/nightly on: schedule: - cron: 0 0 * * * push: branches: - release - dev - master permissions: read-all jobs: regression-test: runs-on: ubuntu-latest services: docker: image: fbopensource/zstd-circleci-primary:0.0.1 options: --entrypoint /bin/bash env: CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts" steps: - uses: actions/checkout@v4 - uses: actions/cache@v4 with: key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 path: tests/regression/cache restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 - uses: actions/upload-artifact@v4 with: path: "/tmp/circleci-artifacts" - name: Install Dependencies run: | sudo apt-get update sudo apt-get install libcurl4-gnutls-dev - name: Regression Test run: | make -C programs zstd make -C tests/regression test mkdir -p $CIRCLE_ARTIFACTS ./tests/regression/test \ --cache tests/regression/cache \ --output $CIRCLE_ARTIFACTS/results.csv \ --zstd programs/zstd echo "NOTE: The new results.csv is uploaded as an artifact to this job" echo " If this fails, go to the Artifacts pane in CircleCI, " echo " download /tmp/circleci-artifacts/results.csv, and if they " echo " are still good, copy it into the repo and commit it." echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv" diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv # Longer tests #- make -C tests test-zstd-nolegacy && make clean #- pyenv global 3.4.4; make -C tests versionsTest && make clean #- make zlibwrapper && make clean #- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean #- make uasan && make clean #- make asan32 && make clean #- make -C tests test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu" # Valgrind tests #- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean #- make -C tests valgrindTest && make clean # ARM, AArch64, PowerPC, PowerPC64 tests #- make ppctest && make clean #- make ppc64test && make clean #- make armtest && make clean #- make aarch64test && make clean