blob: 1fa668c9e9a78ea6aadc84751cc8a151d179e559 [file] [log] [blame]
Michael Walshb1a64eb2017-10-04 17:33:11 -05001#!/bin/bash
2
3# Run an obmc test robot program in a docker environment.
4
5# This program is to be run from a Jenkins job such as 'Run-Robot-Program'.
6# This program expects the Jenkins job to provide several parameter values
7# as environment variables. This includes but is not limited to the
8# following:
9# WORKSPACE
10# robot_file_path
11# git_dir_path
12# post_clone_command
13# openbmc_host
14# openbmc_username
15# openbmc_password
16# additional_parms
17
18# Source other bash files containing required functions.
19source_files="jenkins_funcs.sh"
20pathlist=$(/usr/bin/which $source_files) || exit 1
21for filepath in $pathlist ; do source $filepath || exit 1 ; done
22
23# Fail if an unset variable is accessed.
24set -u
25
26# Assign default values.
27WORKSPACE="${WORKSPACE:-${HOME}}"
28git_dir_path="${git_dir_path:-${WORKSPACE}}"
29
30# Follow the convention of ensuring that dir paths end with slash.
31WORKSPACE="${WORKSPACE%/}/"
32git_dir_path="${git_dir_path%/}/"
33
34
35function mainf {
36
37 # Delete leftover output from prior runs.
38 rm -f ${WORKSPACE}*.html ${WORKSPACE}*.xml || return 1
39 process_git "${git_dir_path}" "${post_clone_command-}" || return 1
40 process_docker "${git_dir_path}" || return 1
41
42 if [ -z "${robot_file_path-}" ] ; then
43 echo "robot_file_path is blank so no there is no need to continue."
44 return
45 fi
46
47 run_docker_robot "${robot_file_path}" || return 1
48
49}
50
51
52# Main
53
54 mainf "${@}"
55 rc="${?}"
56 exit "${rc}"