VulpesOS/gaia/build/docker/gaia-taskenv/bin/buildbot_step
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

62 lines
1.2 KiB
Shell
Executable file

#! /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