]> git.ozlabs.org Git - next-scripts/commitdiff
do_build: consolidate failure action master
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 12 Jun 2025 01:42:02 +0000 (11:42 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 12 Jun 2025 01:42:02 +0000 (11:42 +1000)
do_build

index f4e2848b2e76795df22dd2504ffb0fba433ee6b7..08159891ca96ec86c11acd299b72ebdc15b1bee2 100755 (executable)
--- a/do_build
+++ b/do_build
@@ -72,6 +72,21 @@ $cmd <<-EOF
                sed -E -e '$log_regex' | grep -vxFf $bparent/log-ignore
        }
 
+       do_fail()
+       {
+               sep='!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
+               echo "\$sep"
+               echo "ERROR: \$1 build failed - log follows"
+               echo "\$sep"
+               cat "\$2"
+               if [ -n "\$3" ]; then
+                       kill "\$3" || true
+               fi
+               killall make
+               rm .scmversion
+               exit 1
+       }
+
        show_log() {
                arch=\$1
                conf=\$2
@@ -121,18 +136,9 @@ $cmd <<-EOF
        d="$bparent/perf"
        [ -d \$d ] || mkdir \$d || exit 1
        log_perf=\$d.log
-       /usr/bin/time make -C tools/perf -f Makefile.perf -s -O -j100 O=\$d NO_BPF_SKEL=1 > \$log_perf 2>&1
-       rc=\$?
-
-       if [ \$rc -ne 0 ]; then
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               echo "ERROR: perf build failed - log follows"
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               cat \$log_perf
-               kill \$x86_64_pid || true
-               killall make
-               rm .scmversion
-               exit 1
+
+       if ! /usr/bin/time make -C tools/perf -f Makefile.perf -s -O -j100 O=\$d NO_BPF_SKEL=1 > \$log_perf 2>&1; then
+               do_fail perf "\$log_perf" "\$x86_64_pid"
        fi
 
        show_log native perf \$log_perf
@@ -142,18 +148,9 @@ $cmd <<-EOF
        [ -d \$d ] || mkdir \$d || exit 1
        log_ppc=\$d.log
        make ARCH=powerpc O=\$d -s ppc64_defconfig || exit 1
-       /usr/bin/time make ARCH=powerpc O=\$d -j100 -O -s > \$log_ppc 2>&1
-       rc=\$?
-
-       if [ \$rc -ne 0 ]; then
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               echo "ERROR: powerpc ppc64_defconfig build failed - log follows"
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               cat \$log_ppc
-               kill \$x86_64_pid || true
-               killall make
-               rm .scmversion
-               exit 1
+
+       if ! /usr/bin/time make ARCH=powerpc O=\$d -j100 -O -s > \$log_ppc 2>&1; then
+               do_fail "powerpc ppc64_defconfig" "\$log_ppc" "\$x86_64_pid"
        fi
 
        show_log powerpc ppc64_defconfig \$log_ppc
@@ -163,32 +160,15 @@ $cmd <<-EOF
        [ -d \$d ] || mkdir \$d || exit 1
        log_arm=\$d.log
        make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- O=\$d -s multi_v7_defconfig || exit 1
-       /usr/bin/time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- O=\$d -j100 -O -s > \$log_arm 2>&1
-       rc=\$?
-
-       if [ \$rc -ne 0 ]; then
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               echo "ERROR: arm multi_v7_defconfig build failed - log follows"
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               cat \$log_arm
-               kill \$x86_64_pid || true
-               killall make
-               rm .scmversion
-               exit 1
+
+       if ! /usr/bin/time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- O=\$d -j100 -O -s > \$log_arm 2>&1; then
+               do_fail 'arm multi_v7_defconfig' "\$log_arm" "\$x86_64_pid"
        fi
 
        show_log arm multi_v7_defconfig \$log_arm
 
-       wait \$x86_64_pid
-       rc=\$?
-
-       if [ \$rc -ne 0 ]; then
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               echo "ERROR: x86_64 allmodconfig build failed - log follows"
-               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-               cat \$log_x86
-               rm .scmversion
-               exit 1
+       if ! wait \$x86_64_pid; then
+               do_fail "x86_64 allmodconfig" "\$log_x86"
        fi
 
        show_log x86_64 allmodconfig \$log_x86