| name: facebook/zstd/commit |
| on: |
| push: |
| branches: |
| - dev |
| pull_request: |
| branches: |
| - dev |
| |
| permissions: read-all |
| |
| jobs: |
| short-tests-0: |
| runs-on: ubuntu-latest |
| services: |
| docker: |
| image: fbopensource/zstd-circleci-primary:0.0.1 |
| options: --entrypoint /bin/bash |
| steps: |
| - uses: actions/checkout@v4 |
| - name: Install Dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install libcurl4-gnutls-dev |
| - name: Test |
| run: | |
| ./tests/test-license.py |
| cc -v |
| CFLAGS="-O0 -Werror -pedantic" make allmost; make clean |
| make c99build; make clean |
| make c11build; make clean |
| make -j regressiontest; make clean |
| make check; make clean |
| make cxxtest; make clean |
| |
| short-tests-1: |
| runs-on: ubuntu-latest |
| services: |
| docker: |
| image: fbopensource/zstd-circleci-primary:0.0.1 |
| options: --entrypoint /bin/bash |
| steps: |
| - uses: actions/checkout@v4 |
| - name: Install Dependencies |
| run: | |
| sudo apt-get update |
| 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-13-dev-powerpc-cross |
| - name: gnu90 build |
| run: make gnu90build && make clean |
| - name: gnu99 build |
| run: make gnu99build && make clean |
| - name: ppc64 build |
| run: make ppc64build V=1 && make clean |
| - name: ppc build |
| run: make ppcbuild V=1 && make clean |
| - name: arm build |
| run: make armbuild V=1 && make clean |
| - name: aarch64 build |
| run: make aarch64build V=1 && make clean |
| - name: test-legacy |
| run: make -C tests test-legacy V=1 && make clean |
| - name: test-longmatch |
| run: make -C tests test-longmatch V=1 && make clean |
| - name: libzstd-nomt build |
| run: make -C lib libzstd-nomt V=1 && make clean |
| |
| 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 |
| - name: restore_cache |
| 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 |
| - 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 |
| - uses: actions/upload-artifact@v4 |
| with: |
| path: "/tmp/circleci-artifacts" |