Merge pull request #2187 from bimbashrestha/bourne

[ci] Adding bourne shell compatibility test
This commit is contained in:
Bimba Shrestha 2020-06-02 13:07:36 -05:00 committed by GitHub
commit 448658a662
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 23 deletions

View File

@ -6,20 +6,20 @@ on:
jobs: jobs:
# Dev PR jobs that still have to be migrated from travis # Dev PR jobs that still have to be migrated from travis
# #
# icc (need self-hosted) # icc (need self-hosted)
# arm/qemu-arm (need self-hosted) # arm/qemu-arm (need self-hosted)
# versionTag # versionTag
# valgrindTest (keeps failing for some reason. need investigation) # valgrindTest (keeps failing for some reason. need investigation)
# staticAnalyze (need trusty so need self-hosted) # staticAnalyze (need trusty so need self-hosted)
# pcc-fuzz: (need trusty so need self-hosted) # pcc-fuzz: (need trusty so need self-hosted)
# arm-build-test (need self-hosted) # arm-build-test (need self-hosted)
# #
# setting up self-hosted is pretty straightforward, but # setting up self-hosted is pretty straightforward, but
# I need admins permissions to the repo for that it looks like # I need admins permissions to the repo for that it looks like
# So I'm tabling that for now # So I'm tabling that for now
# #
# The master branch exclusive jobs will be in a separate # The master branch exclusive jobs will be in a separate
# workflow file (the osx tests and meson build that is) # workflow file (the osx tests and meson build that is)
@ -29,14 +29,14 @@ jobs:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: make benchmarking - name: make benchmarking
run: make benchmarking run: make benchmarking
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: make test - name: make test
run: make test run: make test
gcc-6-7-libzstd: gcc-6-7-libzstd:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -50,18 +50,18 @@ jobs:
make clean make clean
LDFLAGS=-Wl,--no-undefined make -C lib libzstd-mt LDFLAGS=-Wl,--no-undefined make -C lib libzstd-mt
make -C tests zbufftest-dll make -C tests zbufftest-dll
gcc-8-asan-ubsan-testzstd: gcc-8-asan-ubsan-testzstd:
runs-on: ubuntu-16.04 # fails on 18.04 runs-on: ubuntu-16.04 # fails on 18.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: gcc-8 + ASan + UBSan + Test Zstd - name: gcc-8 + ASan + UBSan + Test Zstd
run: | run: |
make gcc8install make gcc8install
CC=gcc-8 CFLAGS="-Werror" make -j all CC=gcc-8 CFLAGS="-Werror" make -j all
make clean make clean
CC=gcc-8 make -j uasan-test-zstd </dev/null CC=gcc-8 make -j uasan-test-zstd </dev/null
gcc-6-asan-ubsan-testzstd-32bit: gcc-6-asan-ubsan-testzstd-32bit:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -74,7 +74,7 @@ jobs:
CC=gcc-6 make -j uasan-test-zstd32 CC=gcc-6 make -j uasan-test-zstd32
clang-38-msan-testzstd: clang-38-msan-testzstd:
runs-on: ubuntu-16.04 # fails on 18.04 runs-on: ubuntu-16.04 # fails on 18.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: clang-3.8 + MSan + Test Zstd - name: clang-3.8 + MSan + Test Zstd
@ -86,7 +86,7 @@ jobs:
CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0 CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0
min-decomp-macros: min-decomp-macros:
runs-on: ubuntu-16.04 # fails on 18.04 runs-on: ubuntu-16.04 # fails on 18.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Minimal Decompressor Macros - name: Minimal Decompressor Macros
@ -146,7 +146,7 @@ jobs:
make -j uasanregressiontest make -j uasanregressiontest
make clean make clean
make -j msanregressiontest make -j msanregressiontest
cpp-gnu90-c99-compatibility: cpp-gnu90-c99-compatibility:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -170,3 +170,13 @@ jobs:
# sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; (doesn't work) # sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; (doesn't work)
sudo apt-get install gcc-mingw-w64 sudo apt-get install gcc-mingw-w64
CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CFLAGS="-Werror -O1" make zstd CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CFLAGS="-Werror -O1" make zstd
bourne-shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Bourne shell compatibility (shellcheck)
run: |
wget https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.x86_64.tar.xz
tar -xf shellcheck-v0.7.1.linux.x86_64.tar.xz
shellcheck-v0.7.1/shellcheck --shell=sh --severity=warning --exclude=SC2010 tests/playTests.sh

View File

@ -8,22 +8,22 @@ die() {
} }
datagen() { datagen() {
"$DATAGEN_BIN" $@ "$DATAGEN_BIN" "$@"
} }
zstd() { zstd() {
if [ -z "$EXEC_PREFIX" ]; then if [ -z "$EXEC_PREFIX" ]; then
"$ZSTD_BIN" $@ "$ZSTD_BIN" "$@"
else else
"$EXEC_PREFIX" "$ZSTD_BIN" $@ "$EXEC_PREFIX" "$ZSTD_BIN" "$@"
fi fi
} }
sudoZstd() { sudoZstd() {
if [ -z "$EXEC_PREFIX" ]; then if [ -z "$EXEC_PREFIX" ]; then
sudo "$ZSTD_BIN" $@ sudo "$ZSTD_BIN" "$@"
else else
sudo "$EXEC_PREFIX" "$ZSTD_BIN" $@ sudo "$EXEC_PREFIX" "$ZSTD_BIN" "$@"
fi fi
} }
@ -78,6 +78,11 @@ println() {
printf '%b\n' "${*}" printf '%b\n' "${*}"
} }
if [ -z "${size}" ]; then
size=
else
size=${size}
fi
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
PRGDIR="$SCRIPT_DIR/../programs" PRGDIR="$SCRIPT_DIR/../programs"