local config="$(leave_first "$1")";
local arch="$(leave_second "$1")"; shift
local commit_id="$1"; shift
+ local commit_info="$(git log -1 --oneline "$commit_id")"
+ local commit_nickname="${1:-""}"
cat <<EOF
-Failed to build the following commit for configuration "$config"${arch:+ "(architecture $arch)"}":
-
-$(git log -1 --oneline "$commit_id")
+Failed to build $commit_nickname: $commit_info
+Configuration: "$config"${arch:+", architecture $arch"}".
$(cat)
EOF
}
# Format a build failure report.
-# Usage: build_failure <defconfig> <commit_id> < <build_log>
+# Usage: build_failure <defconfig> <commit_id> <commit_nickname> < <build_log>
build_failure()
{
# The build log might have been generated with multiple jobs which
print_separator
# Make kernel appends a "FAILURE" string at the end when builds fail
+ base_commit_failed=""
if build_failed "$log1"; then
- build_failure "$defconfig" "$commit_id1" < "$log1"
+ build_failure "$defconfig" "$commit_id1" "the base commit" < "$log1"
+ base_commit_failed="yes"
print_separator
fi
fi
if [ -s "$tmpdir/$defconfig.stderr.diff" ]; then
- printf "\n%s\n\n" "Successfully built configuration \"$defconfig\", results:"
+ printf "\n%s\n" "Successfully built configuration \"$defconfig\", the resulting"
+ printf "%s" "build diff "
+
+ if [ -n "$base_commit_failed" ]; then
+ printf "%s\n\n" "is rather messy because the base commit failed to build:"
+ else
+ printf "%s\n\n", "is:"
+ fi
+
cat "$tmpdir/$defconfig.stderr.diff"
else
- printf "\n%s\n" "Successfully built configuration \"$defconfig\", no issues"
+ printf "\n%s\n" "Successfully built configuration \"$defconfig\", no issues."
fi
done;