mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
CI: Upload test logs as artifacts if a test fails.
This commit is contained in:
parent
610dde15a8
commit
3a401b0e0c
2 changed files with 68 additions and 23 deletions
60
.github/workflows/ci.yml
vendored
60
.github/workflows/ci.yml
vendored
|
@ -44,48 +44,55 @@ jobs:
|
|||
run: ./build-aux/ci_build.sh -b autotools -p build -f "-m32"
|
||||
- name: Test 32-bit
|
||||
run: |
|
||||
./build-aux/ci_build.sh -b autotools -p test -f "-m32"
|
||||
./build-aux/ci_build.sh -b autotools -p test -f "-m32" -n 32_bit
|
||||
cd ../xz_build && make distclean
|
||||
|
||||
- name: Build with full features
|
||||
run: ./build-aux/ci_build.sh -b autotools -p build
|
||||
- name: Test with full features
|
||||
run: ./build-aux/ci_build.sh -b autotools -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -p test -n full_features
|
||||
|
||||
- name: Build without encoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p build
|
||||
- name: Test without encoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p test -n no_encoders
|
||||
|
||||
- name: Build without decoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p build
|
||||
- name: Test without decoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p test -n no_decoders
|
||||
|
||||
- name: Build without threads
|
||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p build
|
||||
- name: Test without threads
|
||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p test -n no_threads
|
||||
|
||||
- name: Build without BCJ filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p build
|
||||
- name: Test without BCJ filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p test -n no_bcj
|
||||
|
||||
- name: Build without Delta filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p build
|
||||
- name: Test without Delta filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p test -n no_delta
|
||||
|
||||
- name: Build without sha256 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p build
|
||||
- name: Test without sha256 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p test -n no_sha256
|
||||
|
||||
- name: Build without crc64 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p build
|
||||
- name: Test without crc64 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p test -n no_crc64
|
||||
|
||||
# Attempt to upload the test logs as artifacts if any step has failed
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
name: Linux Autotools Test Logs
|
||||
path: build-aux/artifacts
|
||||
|
||||
Linux-CMake:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -97,6 +104,12 @@ jobs:
|
|||
run: ./build-aux/ci_build.sh -b cmake -p build
|
||||
- name: Test
|
||||
run: ./build-aux/ci_build.sh -b cmake -p test
|
||||
# Attempt to upload the test logs as artifacts if any step has failed
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
name: Linux CMake Test Logs
|
||||
path: build-aux/artifacts
|
||||
|
||||
MacOS-Autotools:
|
||||
runs-on: macos-latest
|
||||
|
@ -109,42 +122,49 @@ jobs:
|
|||
- name: Build with full features
|
||||
run: ./build-aux/ci_build.sh -b autotools -p build
|
||||
- name: Test with full features
|
||||
run: ./build-aux/ci_build.sh -b autotools -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -p test -n full_features
|
||||
|
||||
- name: Build without encoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p build
|
||||
- name: Test without encoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p test -n no_encoders
|
||||
|
||||
- name: Build without decoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p build
|
||||
- name: Test without decoders
|
||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p test -n no_decoders
|
||||
|
||||
- name: Build without threads
|
||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p build
|
||||
- name: Test without threads
|
||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p test -n no_threads
|
||||
|
||||
- name: Build without BCJ filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p build
|
||||
- name: Test without BCJ filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p test -n no_bcj
|
||||
|
||||
- name: Build without Delta filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p build
|
||||
- name: Test without Delta filters
|
||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p test -n no_delta
|
||||
|
||||
- name: Build without sha256 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p build
|
||||
- name: Test without sha256 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p test -n no_sha256
|
||||
|
||||
- name: Build without crc64 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p build
|
||||
- name: Test without crc64 check
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p test
|
||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p test -n no_crc64
|
||||
|
||||
# Attempt to upload the test logs as artifacts if any step has failed
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
name: MacOS Autotools Test Logs
|
||||
path: build-aux/artifacts
|
||||
|
||||
MacOS-CMake:
|
||||
runs-on: macos-latest
|
||||
|
@ -156,4 +176,10 @@ jobs:
|
|||
run: ./build-aux/ci_build.sh -b cmake -p build
|
||||
- name: Test
|
||||
run: ./build-aux/ci_build.sh -b cmake -p test
|
||||
# Attempt to upload the test logs as artifacts if any step has failed
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
name: MacOS CMake Test Logs
|
||||
path: build-aux/artifacts
|
||||
|
|
@ -20,10 +20,11 @@ USAGE="Usage: $0
|
|||
-b [autotools|cmake]
|
||||
-c [crc32|crc64|sha256]
|
||||
-d [encoders|decoders|bcj|delta|threads|shared|nls]
|
||||
-f [CFLAGS]
|
||||
-l [destdir]
|
||||
-s [srcdir]
|
||||
-n [ARTIFACTS_DIR_NAME]
|
||||
-p [all|build|test]
|
||||
-f [CFLAGS]"
|
||||
-s [srcdir]"
|
||||
|
||||
# Absolute path of script directory
|
||||
ABS_DIR=$(cd -- "$(dirname -- "$0")" && pwd)
|
||||
|
@ -41,9 +42,10 @@ NATIVE_LANG_SUPPORT="y"
|
|||
SRC_DIR="$ABS_DIR/../"
|
||||
DEST_DIR="$SRC_DIR/../xz_build"
|
||||
PHASE="all"
|
||||
ARTIFACTS_DIR_NAME="output"
|
||||
|
||||
# Parse arguments
|
||||
while getopts b:c:d:l:s:p:f:h opt; do
|
||||
while getopts b:c:d:l:n:s:p:f:h opt; do
|
||||
# b option can have either value "autotools" OR "cmake"
|
||||
case ${opt} in
|
||||
h)
|
||||
|
@ -88,6 +90,8 @@ while getopts b:c:d:l:s:p:f:h opt; do
|
|||
;;
|
||||
l) DEST_DIR="$OPTARG"
|
||||
;;
|
||||
n) ARTIFACTS_DIR_NAME="$OPTARG"
|
||||
;;
|
||||
s) SRC_DIR="$OPTARG"
|
||||
;;
|
||||
p) PHASE="$OPTARG"
|
||||
|
@ -177,11 +181,26 @@ if [ "$PHASE" = "all" ] || [ "$PHASE" = "test" ]; then
|
|||
case $BUILD_SYSTEM in
|
||||
autotools)
|
||||
cd "$DEST_DIR"
|
||||
make check
|
||||
# If the tests fail, copy the test logs into the artifacts folder
|
||||
if make check
|
||||
then
|
||||
:
|
||||
else
|
||||
mkdir -p "$SRC_DIR/build-aux/artifacts/$ARTIFACTS_DIR_NAME"
|
||||
cp ./tests/*.log "$SRC_DIR/build-aux/artifacts/$ARTIFACTS_DIR_NAME"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
cmake)
|
||||
cd "$DEST_DIR"
|
||||
make "test"
|
||||
if make test
|
||||
then
|
||||
:
|
||||
else
|
||||
mkdir -p "$SRC_DIR/build-aux/artifacts/$ARTIFACTS_DIR_NAME"
|
||||
cp ./Testing/Temporary/*.log "$SRC_DIR/build-aux/artifacts/$ARTIFACTS_DIR_NAME"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue