10 worker_id
="$(wget -qO- "${master_url%/}/api
/v
2/workers
/$current_worker" | sed -rne 's#^ +"workerid
": ([0-9]+),?$#\1#p')"
11 active_builder_ids
="$(wget -qO- "${master_url%/}/api
/v
2/workers
/$worker_id/builds
" | sed -rne '/"builderid
"/ { s/^.+: ([0-9]+),$/\1/; h }; /"state_string
"/ { s/^.+: "([^
"]*)".
*$
/\
1/; H
; x
; s
/\n/ /; p
}' | sed -ne 's
/ building$
//p
')"
13 find /tmp/ -maxdepth 1 -mtime +1 '(' -name 'npm-
*' -or -name 'jsmake-
*' ')' -print0 | xargs -0 -r rm -vr
16 local id="$(wget -qO- "${master_url%/}/api/v2/builders/${1//\//_}" | sed -rne 's
#^ +"builderid": ([0-9]+),$#\1#p')"
17 local running_builder_id
18 for running_builder_id
in $active_builder_ids; do
19 if [ "$running_builder_id" = "$id" ]; then
27 printf "Cleaning up '$current_builder' work directory"
34 find .
-mindepth 1 -maxdepth 1 |
while read entry
; do
35 rm -vrf "$entry" |
while read entry2
; do
36 case "$entry2" in *directory
[:\
]*)
47 # Sanity check, current builder should be in running builders list
50 if ! is_running
"$current_builder"; then
51 echo "Current builder '$current_builder' not found in current builders list, aborting cleanup."
60 if [ "$current_mode" = full
]; then
62 if ! flock
-x -w 2700 200; then
63 echo "Unable to obtain exclusive lock, aborting cleanup."
67 for build_dir
in ..
/*; do
69 current_builder
="${build_dir##*/}"
70 build_dir
="$(readlink -f "$build_dir")"
72 if [ -z "$build_dir" ] ||
[ -L "$build_dir" ] ||
[ ! -d "$build_dir/build" ]; then
76 if is_running
"$current_builder"; then
77 echo "Skipping currently active '$current_builder' work directory."
90 # Clean up current build
94 if [ -d build
]; then (