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