diff options
author | David Lawrence <dkl@mozilla.com> | 2015-11-18 01:37:30 +0100 |
---|---|---|
committer | David Lawrence <dkl@mozilla.com> | 2015-11-18 01:41:18 +0100 |
commit | 8f11979d6dce78de1ed53488d4ddeec32dd3bda3 (patch) | |
tree | 77f7fd80ac835f0f571d284cd86964bbc83b4fd3 /docker/buildbot_step | |
parent | bd1cd98f4bb655e4fa8c83aa7126d0c0f84bf53b (diff) | |
download | bugzilla-8f11979d6dce78de1ed53488d4ddeec32dd3bda3.tar.gz bugzilla-8f11979d6dce78de1ed53488d4ddeec32dd3bda3.tar.xz |
Revert "Bug 1222497 - Refactor the BMO docker image with new file and script structure while minimizing final image size"
This reverts commit af46939af5dbe914e07c9b1ec0af2560b38ffbc6.
Diffstat (limited to 'docker/buildbot_step')
-rw-r--r-- | docker/buildbot_step | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/docker/buildbot_step b/docker/buildbot_step new file mode 100644 index 000000000..0820fa016 --- /dev/null +++ b/docker/buildbot_step @@ -0,0 +1,62 @@ +#! /bin/bash -e + +buildbot_step_help() { + echo "Run a command and wrap it in buildbot step format" + echo " $0 - <buildbot step> [bash args...]" +} + +bb_time() { + # Parser dies if this is longer then 6 chars long. + nano=$(date +%N | cut -c1-6) + echo "$(date '+%Y-%m-%d %H:%M:%S.')$nano" +} + +bb_echo() { + echo "========= $1 =========" +} + +bb_line() { + local type=$1 # Finished/Started + local step=$2 # Name of step + local code=$3 # Exit code + local duration=$4 # Elapsed time in seconds + local time=$(bb_time) + + bb_echo "$type $step (results: $code, elapsed: $duration secs) (at $time)" +} + +# Intentionally the full name of this executable so sourcing this file also +# works as expected... +buildbot_step() { + local step=$1 + local command=${@:2} + local start_time=$(date +%s) + local exit_code=0 + + bb_line "Started" "$step" 0 0 + if eval "$command"; + then + exit_code=$? + else + exit_code=$? + fi + + local end_time=$(date +%s) + local duration=$(($end_time-$start_time)) + + bb_line "Finished" "$step" $exit_code $duration + return $exit_code +} + + +# When this script is not being sourced invoke command directly. +if [ "$(basename $0)" == "buildbot_step" ]; +then + if [ $# -lt 2 ]; + then + buildbot_step_help + exit 1 + fi + buildbot_step "$@" + exit $? +fi |