phase2: move cleanup.sh to shared script directory
authorJo-Philipp Wich <jo@mein.io>
Sun, 30 Jun 2019 18:24:38 +0000 (20:24 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 2 Jul 2019 10:28:22 +0000 (12:28 +0200)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
phase2/cleanup.sh [deleted file]
phase2/master.cfg
scripts/cleanup-phase2.sh [new file with mode: 0755]

diff --git a/phase2/cleanup.sh b/phase2/cleanup.sh
deleted file mode 100755 (executable)
index 2af7b9f..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/bash
-
-export LC_ALL=C
-
-buildbot_url="$1"
-current_slave="$2"
-current_builder="$3"
-current_mode="$4"
-
-running_builders="$(wget -qO- "${buildbot_url%/}/json/slaves/$current_slave?as_text=1" | sed -ne 's,^.*"builderName": "\(.*\)".*$,\1,p')"
-
-find /tmp/ -maxdepth 1 -mtime +1 '(' -name 'npm-*' -or -name 'jsmake-*' ')' -print0 | xargs -0 -r rm -vr
-
-is_running() {
-       local running_builder
-       for running_builder in $running_builders; do
-               if [ "${running_builder//\//_}" = "${1//\//_}" ]; then
-                       return 0
-               fi
-       done
-       return 1
-}
-
-do_cleanup() {
-       printf "Cleaning up '$current_builder' work directory"
-
-       rm -f cleanup.sh
-       rm -vrf sdk/ | while read entry; do
-               case "$entry" in *directory:*)
-                       printf "."
-               esac
-       done
-
-       echo ""
-}
-
-#
-# Sanity check, current builder should be in running builders list
-#
-
-if ! is_running "$current_builder"; then
-       echo "Current builder '$current_builder' not found in current builders list, aborting cleanup."
-       exit 1
-fi
-
-
-#
-# Clean up leftovers
-#
-
-if [ "$current_mode" = full ]; then
-(
-       if ! flock -x -w 2700 200; then
-               echo "Unable to obtain exclusive lock, aborting cleanup."
-               exit 1
-       fi
-
-       for build_dir in ../../*; do
-
-               build_dir="$(readlink -f "$build_dir")"
-
-               if [ -z "$build_dir" ] || [ ! -d "$build_dir/build/sdk" ]; then
-                       continue
-               fi
-
-               current_builder="${build_dir##*/}"
-
-               if is_running "$current_builder"; then
-                       echo "Skipping currently active '$current_builder' work directory."
-                       continue
-               fi
-
-               (
-                       cd "$build_dir/build"
-
-                       #if [ -n "$(git status --porcelain | grep -v update_hostkey.sh | grep -v cleanup.sh)" ]; then
-                       if [ -d sdk ]; then
-                               do_cleanup
-                       else
-                               echo "Skipping clean '$current_builder' work directory."
-                       fi
-               )
-       done
-
-) 200>../../cleanup.lock
-
-#
-# Clean up current build
-#
-
-else
-       do_cleanup
-fi
-
-exit 0
index cfa7002b7d5f84d09158f9e98c65f53b547ad8d3..2c0f73066267e533cfa289309a23dae85d8c6f5a 100644 (file)
@@ -279,7 +279,10 @@ for arch in arches:
                command = ["nproc"]))
 
        # prepare workspace
-       factory.addStep(FileDownload(mastersrc="cleanup.sh", slavedest="cleanup.sh", mode=0755))
+       factory.addStep(FileDownload(
+               mastersrc = scripts_dir + '/cleanup-phase2.sh',
+               slavedest = "cleanup.sh",
+               mode = 0755))
 
        if not persistent:
                factory.addStep(ShellCommand(
diff --git a/scripts/cleanup-phase2.sh b/scripts/cleanup-phase2.sh
new file mode 100755 (executable)
index 0000000..2af7b9f
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/bash
+
+export LC_ALL=C
+
+buildbot_url="$1"
+current_slave="$2"
+current_builder="$3"
+current_mode="$4"
+
+running_builders="$(wget -qO- "${buildbot_url%/}/json/slaves/$current_slave?as_text=1" | sed -ne 's,^.*"builderName": "\(.*\)".*$,\1,p')"
+
+find /tmp/ -maxdepth 1 -mtime +1 '(' -name 'npm-*' -or -name 'jsmake-*' ')' -print0 | xargs -0 -r rm -vr
+
+is_running() {
+       local running_builder
+       for running_builder in $running_builders; do
+               if [ "${running_builder//\//_}" = "${1//\//_}" ]; then
+                       return 0
+               fi
+       done
+       return 1
+}
+
+do_cleanup() {
+       printf "Cleaning up '$current_builder' work directory"
+
+       rm -f cleanup.sh
+       rm -vrf sdk/ | while read entry; do
+               case "$entry" in *directory:*)
+                       printf "."
+               esac
+       done
+
+       echo ""
+}
+
+#
+# Sanity check, current builder should be in running builders list
+#
+
+if ! is_running "$current_builder"; then
+       echo "Current builder '$current_builder' not found in current builders list, aborting cleanup."
+       exit 1
+fi
+
+
+#
+# Clean up leftovers
+#
+
+if [ "$current_mode" = full ]; then
+(
+       if ! flock -x -w 2700 200; then
+               echo "Unable to obtain exclusive lock, aborting cleanup."
+               exit 1
+       fi
+
+       for build_dir in ../../*; do
+
+               build_dir="$(readlink -f "$build_dir")"
+
+               if [ -z "$build_dir" ] || [ ! -d "$build_dir/build/sdk" ]; then
+                       continue
+               fi
+
+               current_builder="${build_dir##*/}"
+
+               if is_running "$current_builder"; then
+                       echo "Skipping currently active '$current_builder' work directory."
+                       continue
+               fi
+
+               (
+                       cd "$build_dir/build"
+
+                       #if [ -n "$(git status --porcelain | grep -v update_hostkey.sh | grep -v cleanup.sh)" ]; then
+                       if [ -d sdk ]; then
+                               do_cleanup
+                       else
+                               echo "Skipping clean '$current_builder' work directory."
+                       fi
+               )
+       done
+
+) 200>../../cleanup.lock
+
+#
+# Clean up current build
+#
+
+else
+       do_cleanup
+fi
+
+exit 0