• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: facebook/zstd/nightly
2on:
3  schedule:
4  - cron: 0 0 * * *
5  push:
6    branches:
7    - release
8    - dev
9    - master
10permissions: read-all
11jobs:
12  regression-test:
13    runs-on: ubuntu-latest
14    services:
15      docker:
16        image: fbopensource/zstd-circleci-primary:0.0.1
17        options: --entrypoint /bin/bash
18    env:
19      CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts"
20    steps:
21    - uses: actions/checkout@v4
22    - uses: actions/cache@v4
23      with:
24        key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
25        path: tests/regression/cache
26        restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
27    - uses: actions/upload-artifact@v4
28      with:
29        path: "/tmp/circleci-artifacts"
30    - name: Install Dependencies
31      run: |
32        sudo apt-get update
33        sudo apt-get install libcurl4-gnutls-dev
34    - name: Regression Test
35      run: |
36        make -C programs zstd
37        make -C tests/regression test
38        mkdir -p $CIRCLE_ARTIFACTS
39        ./tests/regression/test                     \
40            --cache  tests/regression/cache         \
41            --output $CIRCLE_ARTIFACTS/results.csv  \
42            --zstd   programs/zstd
43        echo "NOTE: The new results.csv is uploaded as an artifact to this job"
44        echo "      If this fails, go to the Artifacts pane in CircleCI, "
45        echo "      download /tmp/circleci-artifacts/results.csv, and if they "
46        echo "      are still good, copy it into the repo and commit it."
47        echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv"
48        diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv
49
50# Longer tests
51  #- make -C tests test-zstd-nolegacy && make clean
52  #- pyenv global 3.4.4; make -C tests versionsTest && make clean
53  #- make zlibwrapper         && make clean
54  #- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean
55  #- make uasan               && make clean
56  #- make asan32              && make clean
57  #- make -C tests test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu"
58# Valgrind tests
59  #- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean
60  #- make -C tests valgrindTest && make clean
61# ARM, AArch64, PowerPC, PowerPC64 tests
62  #- make ppctest             && make clean
63  #- make ppc64test           && make clean
64  #- make armtest             && make clean
65  #- make aarch64test         && make clean
66