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