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"
|
run: ./build-aux/ci_build.sh -b autotools -p build -f "-m32"
|
||||||
- name: Test 32-bit
|
- name: Test 32-bit
|
||||||
run: |
|
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
|
cd ../xz_build && make distclean
|
||||||
|
|
||||||
- name: Build with full features
|
- name: Build with full features
|
||||||
run: ./build-aux/ci_build.sh -b autotools -p build
|
run: ./build-aux/ci_build.sh -b autotools -p build
|
||||||
- name: Test with full features
|
- 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
|
- name: Build without encoders
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p build
|
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p build
|
||||||
- name: Test without encoders
|
- 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
|
- name: Build without decoders
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p build
|
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p build
|
||||||
- name: Test without decoders
|
- 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
|
- name: Build without threads
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p build
|
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p build
|
||||||
- name: Test without threads
|
- 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
|
- name: Build without BCJ filters
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p build
|
||||||
- name: Test without BCJ filters
|
- 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
|
- name: Build without Delta filters
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p build
|
||||||
- name: Test without Delta filters
|
- 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
|
- name: Build without sha256 check
|
||||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p build
|
||||||
- name: Test without sha256 check
|
- 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
|
- name: Build without crc64 check
|
||||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p build
|
||||||
- name: Test without crc64 check
|
- 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:
|
Linux-CMake:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -97,6 +104,12 @@ jobs:
|
||||||
run: ./build-aux/ci_build.sh -b cmake -p build
|
run: ./build-aux/ci_build.sh -b cmake -p build
|
||||||
- name: Test
|
- name: Test
|
||||||
run: ./build-aux/ci_build.sh -b cmake -p 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:
|
MacOS-Autotools:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
@ -109,42 +122,49 @@ jobs:
|
||||||
- name: Build with full features
|
- name: Build with full features
|
||||||
run: ./build-aux/ci_build.sh -b autotools -p build
|
run: ./build-aux/ci_build.sh -b autotools -p build
|
||||||
- name: Test with full features
|
- 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
|
- name: Build without encoders
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p build
|
run: ./build-aux/ci_build.sh -b autotools -d encoders,shared -p build
|
||||||
- name: Test without encoders
|
- 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
|
- name: Build without decoders
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p build
|
run: ./build-aux/ci_build.sh -b autotools -d decoders,shared -p build
|
||||||
- name: Test without decoders
|
- 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
|
- name: Build without threads
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p build
|
run: ./build-aux/ci_build.sh -b autotools -d threads,shared -p build
|
||||||
- name: Test without threads
|
- 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
|
- name: Build without BCJ filters
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -d bcj,shared,nls -p build
|
||||||
- name: Test without BCJ filters
|
- 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
|
- name: Build without Delta filters
|
||||||
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -d delta,shared,nls -p build
|
||||||
- name: Test without Delta filters
|
- 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
|
- name: Build without sha256 check
|
||||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -d shared,nls -p build
|
||||||
- name: Test without sha256 check
|
- 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
|
- name: Build without crc64 check
|
||||||
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p build
|
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -d shared,nls -p build
|
||||||
- name: Test without crc64 check
|
- 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:
|
MacOS-CMake:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
@ -156,4 +176,10 @@ jobs:
|
||||||
run: ./build-aux/ci_build.sh -b cmake -p build
|
run: ./build-aux/ci_build.sh -b cmake -p build
|
||||||
- name: Test
|
- name: Test
|
||||||
run: ./build-aux/ci_build.sh -b cmake -p 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]
|
-b [autotools|cmake]
|
||||||
-c [crc32|crc64|sha256]
|
-c [crc32|crc64|sha256]
|
||||||
-d [encoders|decoders|bcj|delta|threads|shared|nls]
|
-d [encoders|decoders|bcj|delta|threads|shared|nls]
|
||||||
|
-f [CFLAGS]
|
||||||
-l [destdir]
|
-l [destdir]
|
||||||
-s [srcdir]
|
-n [ARTIFACTS_DIR_NAME]
|
||||||
-p [all|build|test]
|
-p [all|build|test]
|
||||||
-f [CFLAGS]"
|
-s [srcdir]"
|
||||||
|
|
||||||
# Absolute path of script directory
|
# Absolute path of script directory
|
||||||
ABS_DIR=$(cd -- "$(dirname -- "$0")" && pwd)
|
ABS_DIR=$(cd -- "$(dirname -- "$0")" && pwd)
|
||||||
|
@ -41,9 +42,10 @@ NATIVE_LANG_SUPPORT="y"
|
||||||
SRC_DIR="$ABS_DIR/../"
|
SRC_DIR="$ABS_DIR/../"
|
||||||
DEST_DIR="$SRC_DIR/../xz_build"
|
DEST_DIR="$SRC_DIR/../xz_build"
|
||||||
PHASE="all"
|
PHASE="all"
|
||||||
|
ARTIFACTS_DIR_NAME="output"
|
||||||
|
|
||||||
# Parse arguments
|
# 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"
|
# b option can have either value "autotools" OR "cmake"
|
||||||
case ${opt} in
|
case ${opt} in
|
||||||
h)
|
h)
|
||||||
|
@ -88,6 +90,8 @@ while getopts b:c:d:l:s:p:f:h opt; do
|
||||||
;;
|
;;
|
||||||
l) DEST_DIR="$OPTARG"
|
l) DEST_DIR="$OPTARG"
|
||||||
;;
|
;;
|
||||||
|
n) ARTIFACTS_DIR_NAME="$OPTARG"
|
||||||
|
;;
|
||||||
s) SRC_DIR="$OPTARG"
|
s) SRC_DIR="$OPTARG"
|
||||||
;;
|
;;
|
||||||
p) PHASE="$OPTARG"
|
p) PHASE="$OPTARG"
|
||||||
|
@ -177,11 +181,26 @@ if [ "$PHASE" = "all" ] || [ "$PHASE" = "test" ]; then
|
||||||
case $BUILD_SYSTEM in
|
case $BUILD_SYSTEM in
|
||||||
autotools)
|
autotools)
|
||||||
cd "$DEST_DIR"
|
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)
|
cmake)
|
||||||
cd "$DEST_DIR"
|
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
|
esac
|
||||||
fi
|
fi
|
Loading…
Reference in a new issue