f535537f |
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" |