]> git.wh0rd.org - home.git/blame - .bin/cros-cbuildbot
ignore more stuff
[home.git] / .bin / cros-cbuildbot
CommitLineData
3c347239
MF
1#!/bin/bash
2
f19b7c42
MF
3vexec() {
4 local i fmt
5 for (( i = 1; i <= $#; ++i )) ; do
6 case ${!i} in
7 *" "*) fmt="'%s'";;
8 *) fmt="%s";;
9 esac
10 printf "${fmt}" "${!i}"
11 if [[ $i -lt $# ]] ; then
12 printf ' '
13 else
14 echo
15 fi
16 done
17 exec "$@"
18}
c297fe22 19
eab23be4 20cd ~/chromiumos || exit 1
0f71e16b
MF
21
22# cache the sudo timestamp
23sudo echo "" >/dev/null
24
3c347239 25d=/usr/local/google/home/vapier
70b466db
MF
26if [[ ! -d ${d} ]] ; then
27 exit 1
28fi
29
30d+="/trybot"
31if mount | grep -qs $d ; then
32 echo "mounts found in $d"
33 exit 1
34fi
420f8f8a
MF
35rd=$(readlink $d)
36if mount | grep -qs $rd ; then
37 echo "mounts found in $rd"
38 exit 1
39fi
3c347239 40
70b466db
MF
41if [[ $1 == "--noclean" ]] ; then
42 shift
426a73af 43elif [[ " $* " != *" --remote "* ]] ; then
3c347239 44 echo "Cleaning ${d}"
0f71e16b
MF
45 pushd "${d}" >/dev/null
46 clean=(
47 built-sdk.tbz2
48 chroot
49 new-sdk-chroot
50 #sdks
51 src/build
52 test_results.tgz
53 trybot_archive
54 )
55 sudo rm -rf "${clean[@]}"
c297fe22
MF
56 if [[ -d ${d}/sdks ]] ; then
57 sudo find "${d}"/sdks -mtime +3 -delete
58 fi
0f71e16b 59 popd >/dev/null
3c347239
MF
60fi
61
62# find all the buildbot branches
0f71e16b 63echo "Looking up repo branches"
3c347239
MF
64repos=$(r b | cut -b4- | awk '$1 == "bb" {
65 # Single repo output:
66 # bb | in src/third_party/portage-stable
67 # Multi repo output:
68 # bb | in:
69 # src/third_party/portage-stable
70 # src/third_party/chromiumos-overlay
71 if ($3 == "in")
72 print $NF
73 while (getline) {
74 if ($2 == "|")
75 break;
76 print $NF;
77 }
78}')
79if [[ -n ${repos} ]] ; then
80 echo "Auto pulling patches from 'bb' branch in repos:"
81 printf '\t%s\n' ${repos}
82
83 p_flag=""
84 for r in ${repos} ; do
85 r=$(r list | awk -v r="${r}" '$1 == r { print $NF }')
86 p_flag+="${r}:bb "
87 done
88
89 set -- -p "${p_flag}" "$@"
90fi
91
3c347239 92vexec cbuildbot --buildroot=${d} "$@"