Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3901 from robandpdx-org/convert-facebook-zstd-to-…
…actions Convert the CircleCI workflow to a GitHub Actions workflow
- Loading branch information
Showing
2 changed files
with
152 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
name: facebook/zstd/commit | ||
on: | ||
push: | ||
branches: | ||
- dev | ||
jobs: | ||
short-tests-0: | ||
runs-on: ubuntu-latest | ||
services: | ||
docker: | ||
image: fbopensource/zstd-circleci-primary:0.0.1 | ||
options: --entrypoint /bin/bash | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install libcurl4-gnutls-dev | ||
- name: Test | ||
run: | | ||
./tests/test-license.py | ||
cc -v | ||
CFLAGS="-O0 -Werror -pedantic" make allmost; make clean | ||
make c99build; make clean | ||
make c11build; make clean | ||
make -j regressiontest; make clean | ||
make shortest; make clean | ||
make cxxtest; make clean | ||
short-tests-1: | ||
runs-on: ubuntu-latest | ||
services: | ||
docker: | ||
image: fbopensource/zstd-circleci-primary:0.0.1 | ||
options: --entrypoint /bin/bash | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Dependencies | ||
run: | | ||
sudo apt-get update | ||
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 | ||
- name: Test | ||
run: |- | ||
make gnu90build; make clean | ||
make gnu99build; make clean | ||
make ppc64build V=1; make clean | ||
make ppcbuild V=1; make clean | ||
make armbuild V=1; make clean | ||
make aarch64build V=1; make clean | ||
make -C tests test-legacy test-longmatch; make clean | ||
make -C lib libzstd-nomt; make clean | ||
regression-test: | ||
runs-on: ubuntu-latest | ||
services: | ||
docker: | ||
image: fbopensource/zstd-circleci-primary:0.0.1 | ||
options: --entrypoint /bin/bash | ||
env: | ||
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: restore_cache | ||
uses: actions/cache@v3 | ||
with: | ||
key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 | ||
path: tests/regression/cache | ||
restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 | ||
- name: Install Dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install libcurl4-gnutls-dev | ||
- name: Regression Test | ||
run: | | ||
make -C programs zstd | ||
make -C tests/regression test | ||
mkdir -p $CIRCLE_ARTIFACTS | ||
./tests/regression/test \ | ||
--cache tests/regression/cache \ | ||
--output $CIRCLE_ARTIFACTS/results.csv \ | ||
--zstd programs/zstd | ||
echo "NOTE: The new results.csv is uploaded as an artifact to this job" | ||
echo " If this fails, go to the Artifacts pane in CircleCI, " | ||
echo " download /tmp/circleci-artifacts/results.csv, and if they " | ||
echo " are still good, copy it into the repo and commit it." | ||
echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv" | ||
diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
path: "/tmp/circleci-artifacts" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
name: facebook/zstd/nightly | ||
on: | ||
schedule: | ||
- cron: 0 0 * * * | ||
push: | ||
branches: | ||
- release | ||
- dev | ||
- master | ||
jobs: | ||
regression-test: | ||
runs-on: ubuntu-latest | ||
services: | ||
docker: | ||
image: fbopensource/zstd-circleci-primary:0.0.1 | ||
options: --entrypoint /bin/bash | ||
env: | ||
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/cache@v3 | ||
with: | ||
key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 | ||
path: tests/regression/cache | ||
restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0 | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
path: "/tmp/circleci-artifacts" | ||
- name: Install Dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install libcurl4-gnutls-dev | ||
- name: Regression Test | ||
run: | | ||
make -C programs zstd | ||
make -C tests/regression test | ||
mkdir -p $CIRCLE_ARTIFACTS | ||
./tests/regression/test \ | ||
--cache tests/regression/cache \ | ||
--output $CIRCLE_ARTIFACTS/results.csv \ | ||
--zstd programs/zstd | ||
echo "NOTE: The new results.csv is uploaded as an artifact to this job" | ||
echo " If this fails, go to the Artifacts pane in CircleCI, " | ||
echo " download /tmp/circleci-artifacts/results.csv, and if they " | ||
echo " are still good, copy it into the repo and commit it." | ||
echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv" | ||
diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv | ||
# Longer tests | ||
#- make -C tests test-zstd-nolegacy && make clean | ||
#- pyenv global 3.4.4; make -C tests versionsTest && make clean | ||
#- make zlibwrapper && make clean | ||
#- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean | ||
#- make uasan && make clean | ||
#- make asan32 && make clean | ||
#- make -C tests test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu" | ||
# Valgrind tests | ||
#- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean | ||
#- make -C tests valgrindTest && make clean | ||
# ARM, AArch64, PowerPC, PowerPC64 tests | ||
#- make ppctest && make clean | ||
#- make ppc64test && make clean | ||
#- make armtest && make clean | ||
#- make aarch64test && make clean |