Home | History | Annotate | Line # | Download | only in workflows
      1 name: facebook/zstd/commit
      2 on:
      3   push:
      4     branches:
      5     - dev
      6 permissions: read-all
      7 jobs:
      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