mirror of
https://github.com/facebook/zstd.git
synced 2025-08-08 17:22:10 +03:00
Convert the CircleCI workflow to a GitHub Actions workflow
This commit is contained in:
committed by
Josh Kearney
parent
81bfe3655e
commit
3a64c69eba
88
.github/workflows/commit.yml
vendored
Normal file
88
.github/workflows/commit.yml
vendored
Normal file
@@ -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"
|
64
.github/workflows/nightly.yml
vendored
Normal file
64
.github/workflows/nightly.yml
vendored
Normal file
@@ -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
|
Reference in New Issue
Block a user