• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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