blob: 0d6c22c46988c9d579eb0a817005685f4e57c871 [file] [log] [blame]
Jeff Gaston210f5bc2021-03-11 13:06:31 -05001set -e
2set -o pipefail
3
4showPresubmit=false
5while [ "$1" != "" ]; do
6 arg="$1"
7 shift
8 if [ "$arg" == "--presubmit" ]; then
9 showPresubmit=true
10 continue
11 fi
12done
13
14function getFailures() {
15 if [ "$showPresubmit" == "true" ]; then
16 buildType="pending"
17 else
18 buildType="submitted"
19 fi
20 /google/data/ro/projects/android/bass --query="fail" -branch="aosp-androidx-main" -days="30" -successful="false" --build-type="$buildType" 2>&1 | tee /tmp/failure-output
21}
22getFailures
23
24function stripExtraOutput() {
25 cat /tmp/failure-output | grep -v "Branch" | grep -v "Machine Name" | grep -v "Completed At" | grep -v "Snippet" | sed 's/.*BuildID: \([0-9]*\).*/BuildID \1/g' | sed 's/.*Target: \(.*\)/Target: \1/g' | sed 's/.*---.*//' | uniq | tee /tmp/failure-output-reduced
26}
27stripExtraOutput
28
29function consolidateLines() {
30cat /tmp/failure-output-reduced | sed 's/$/ /g' | tr -d '\n' | sed 's/BuildID/\nBuildID/g' | sed 's/BuildID \([0-9]*\) Target: \([^ ]*\) \(.*\)/\3 BuildID \1 \/ \2/g' | tee /tmp/failures
31}
32consolidateLines
33
34function sortFailures() {
35 cat /tmp/failures | sort | tee /tmp/failures-sorted
36}
37sortFailures
38
39function showMostCommonFailures() {
40 echo
41 echo Most common build failures:
42 cat /tmp/failures-sorted | sed 's/BuildID.*//' | uniq -c | sort -n | tail
43}
44showMostCommonFailures