1name: facebook/zstd/commit 2on: 3 push: 4 branches: 5 - dev 6permissions: read-all 7jobs: 8 short-tests-0: 9 runs-on: ubuntu-latest 10 services: 11 docker: 12 image: fbopensource/zstd-circleci-primary:0.0.1 13 options: --entrypoint /bin/bash 14 steps: 15 - uses: actions/checkout@v4 16 - name: Install Dependencies 17 run: | 18 sudo apt-get update 19 sudo apt-get install libcurl4-gnutls-dev 20 - name: Test 21 run: | 22 ./tests/test-license.py 23 cc -v 24 CFLAGS="-O0 -Werror -pedantic" make allmost; make clean 25 make c99build; make clean 26 make c11build; make clean 27 make -j regressiontest; make clean 28 make shortest; make clean 29 make cxxtest; make clean 30 short-tests-1: 31 runs-on: ubuntu-latest 32 services: 33 docker: 34 image: fbopensource/zstd-circleci-primary:0.0.1 35 options: --entrypoint /bin/bash 36 steps: 37 - uses: actions/checkout@v4 38 - name: Install Dependencies 39 run: | 40 sudo apt-get update 41 sudo apt-get install gcc-powerpc-linux-gnu gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-ppc64-powerpc-cross libcurl4-gnutls-dev lib64gcc-11-dev-powerpc-cross 42 - name: Test 43 run: |- 44 make gnu90build; make clean 45 make gnu99build; make clean 46 make ppc64build V=1; make clean 47 make ppcbuild V=1; make clean 48 make armbuild V=1; make clean 49 make aarch64build V=1; make clean 50 make -C tests test-legacy test-longmatch; make clean 51 make -C lib libzstd-nomt; make clean 52 regression-test: 53 runs-on: ubuntu-latest 54 services: 55 docker: 56 image: fbopensource/zstd-circleci-primary:0.0.1 57 options: --entrypoint /bin/bash 58 env: 59 CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts" 60 steps: 61 - uses: actions/checkout@v4 62 - name: restore_cache 63 uses: actions/cache@v4 64 with: 65 key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 66 path: tests/regression/cache 67 restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 68 - name: Install Dependencies 69 run: | 70 sudo apt-get update 71 sudo apt-get install libcurl4-gnutls-dev 72 - name: Regression Test 73 run: | 74 make -C programs zstd 75 make -C tests/regression test 76 mkdir -p $CIRCLE_ARTIFACTS 77 ./tests/regression/test \ 78 --cache tests/regression/cache \ 79 --output $CIRCLE_ARTIFACTS/results.csv \ 80 --zstd programs/zstd 81 echo "NOTE: The new results.csv is uploaded as an artifact to this job" 82 echo " If this fails, go to the Artifacts pane in CircleCI, " 83 echo " download /tmp/circleci-artifacts/results.csv, and if they " 84 echo " are still good, copy it into the repo and commit it." 85 echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv" 86 diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv 87 - uses: actions/upload-artifact@v4 88 with: 89 path: "/tmp/circleci-artifacts" 90