blob: 1fa668c9e9a78ea6aadc84751cc8a151d179e559 [file] [log] [blame]
#!/bin/bash
# Run an obmc test robot program in a docker environment.
# This program is to be run from a Jenkins job such as 'Run-Robot-Program'.
# This program expects the Jenkins job to provide several parameter values
# as environment variables. This includes but is not limited to the
# following:
# WORKSPACE
# robot_file_path
# git_dir_path
# post_clone_command
# openbmc_host
# openbmc_username
# openbmc_password
# additional_parms
# Source other bash files containing required functions.
source_files="jenkins_funcs.sh"
pathlist=$(/usr/bin/which $source_files) || exit 1
for filepath in $pathlist ; do source $filepath || exit 1 ; done
# Fail if an unset variable is accessed.
set -u
# Assign default values.
WORKSPACE="${WORKSPACE:-${HOME}}"
git_dir_path="${git_dir_path:-${WORKSPACE}}"
# Follow the convention of ensuring that dir paths end with slash.
WORKSPACE="${WORKSPACE%/}/"
git_dir_path="${git_dir_path%/}/"
function mainf {
# Delete leftover output from prior runs.
rm -f ${WORKSPACE}*.html ${WORKSPACE}*.xml || return 1
process_git "${git_dir_path}" "${post_clone_command-}" || return 1
process_docker "${git_dir_path}" || return 1
if [ -z "${robot_file_path-}" ] ; then
echo "robot_file_path is blank so no there is no need to continue."
return
fi
run_docker_robot "${robot_file_path}" || return 1
}
# Main
mainf "${@}"
rc="${?}"
exit "${rc}"