|
|
| version 1.1.1.1, 2025/01/21 15:54:01 | version 1.6, 2025/03/12 02:31:46 |
|---|---|
| Line 44 then | Line 44 then |
| exit 1 | exit 1 |
| fi | fi |
| if [ $EUID -ne ${BUILDMAN_UID} ] | #if [ $EUID -ne ${BUILDMAN_UID} ] |
| then | #then |
| echo "${PROGN} error: must be run as user \"${BUILDMAN_USER}\"" | # echo "${PROGN} error: must be run as user \"${BUILDMAN_USER}\"" |
| exit 1 | # exit 1 |
| fi | #fi |
| OS=`uname` | OS=`uname` |
| DT=`date +"%Y%m%d"` | DT=`date +"%Y%m%d"` |
| Line 91 do | Line 91 do |
| echo "$PROGN: creating job ${JOBID}" | echo "$PROGN: creating job ${JOBID}" |
| JOBDIR="${HOSTDIR}/jobs/${JOBID}" | JOBDIR="${HOSTDIR}/jobs/${JOBID}" |
| JLOG="${JOBDIR}/job.log" | JLOG="${JOBDIR}/job.log" |
| JSCR="${BUILDMAN_BASE}/project/${PROJECT}/scripts/build.sh" | JSCR="${BUILDMAN_BASE}/projects/${PROJECT}/scripts/build.sh" |
| PRESCR="${HOSTDIR}/prebuild.sh" | |
| POSTSCR="${HOSTDIR}/postbuild.sh" | |
| mkdir -p "${JOBDIR}" | mkdir -p "${JOBDIR}" |
| cd "${JOBDIR}" | |
| echo "Coherent Logic Development BuildMan" >> "${JLOG}" | |
| echo "Build agent is running job ID ${JOBID} for project ${PROJECT} on node ${THOST}" >> "${JLOG}" | |
| echo "${JOBID}" > "${HOSTDIR}/build-running" | echo "${JOBID}" > "${HOSTDIR}/build-running" |
| echo "${JOBID}" > "${JOBDIR}/running" | echo "${JOBID}" > "${JOBDIR}/running" |
| if [ -f "${PRESCR}" ] | |
| then | |
| echo "$PROGN: running host-specific prebuild script ${PRESCR} for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" | |
| echo "$PROGN: running host-specific prebuild script ${PRESCR} for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" >> ${JLOG} | |
| sh "${PRESCR}" >> ${JLOG} | |
| RETCODE=$? | |
| if [ $RETCODE -gt 0 ] | |
| then | |
| echo "$PROGN: host-specific prebuild script failed for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" | |
| echo "$PROGN: host-specific prebuild script failed for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" >> ${JLOG} | |
| rm -f "${HOSTDIR}/build-running" | |
| rm -f "${JOBDIR}/running" | |
| rm -f "${HOSTDIR}/build-failing" | |
| rm -f "${HOSTDIR}/build-passing" | |
| echo "${JOBID}" > "${HOSTDIR}/build-failing" | |
| echo "${JOBID}" > "${JOBDIR}/failing" | |
| exit 1 | |
| fi | |
| else | |
| echo "$PROGN: no host-specific prebuild script exists for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" | |
| echo "$PROGN: no host-specific prebuild script exists for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" >> ${JLOG} | |
| fi | |
| if [ -f "${JSCR}" ] | if [ -f "${JSCR}" ] |
| then | then |
| echo "$PROGN: running build script ${JSCR} for project ${PROJECT} [job id ${JOBID}]" | echo "$PROGN: running build script ${JSCR} for project ${PROJECT} [job id ${JOBID}]" |
| sh "${JSCR}" > ${JLOG} | echo "$PROGN: running build script ${JSCR} for project ${PROJECT} [job id ${JOBID}]" >> ${JLOG} |
| sh "${JSCR}" >> ${JLOG} | |
| RETCODE=$? | RETCODE=$? |
| rm -f "${HOSTDIR}/build-running" | rm -f "${HOSTDIR}/build-running" |
| rm -f "${JOBDIR}/running" | rm -f "${JOBDIR}/running" |
| rm -f "${HOSTDIR}/build-failing" | |
| rm -f "${HOSTDIR}/build-passing" | |
| case $RETCODE in | case $RETCODE in |
| 0) | 0) |
| Line 116 do | Line 153 do |
| *) | *) |
| echo "${JOBID}" > "${HOSTDIR}/build-failing" | echo "${JOBID}" > "${HOSTDIR}/build-failing" |
| echo "${JOBID}" > "${JOBDIR}/failing" | echo "${JOBID}" > "${JOBDIR}/failing" |
| exit 1 | |
| ;; | ;; |
| esac | esac |
| Line 126 do | Line 164 do |
| echo "$PROGN: build script ${JSCR} missing for project ${PROJECT} [job id ${JOBID}]" >> "${JLOG}" | echo "$PROGN: build script ${JSCR} missing for project ${PROJECT} [job id ${JOBID}]" >> "${JLOG}" |
| rm -f "${HOSTDIR}/build-running" | rm -f "${HOSTDIR}/build-running" |
| rm -f "${JOBDIR}/running" | rm -f "${JOBDIR}/running" |
| fi | |
| if [ -f "${POSTSCR}" ] | |
| then | |
| echo "$PROGN: running host-specific postbuild script ${POSTSCR} for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" | |
| echo "$PROGN: running host-specific postbuild script ${POSTSCR} for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" >> ${JLOG} | |
| sh "${POSTSCR}" >> ${JLOG} | |
| RETCODE=$? | |
| if [ $RETCODE -gt 0 ] | |
| then | |
| echo "$PROGN: host-specific postbuild script failed for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" | |
| echo "$PROGN: host-specific postbuild script failed for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" >> ${JLOG} | |
| rm -f "${HOSTDIR}/build-running" | |
| rm -f "${JOBDIR}/running" | |
| rm -f "${HOSTDIR}/build-failing" | |
| rm -f "${HOSTDIR}/build-passing" | |
| echo "${JOBID}" > "${HOSTDIR}/build-failing" | |
| echo "${JOBID}" > "${JOBDIR}/failing" | |
| exit 1 | |
| fi | |
| else | |
| echo "$PROGN: no host-specific postbuild script exists for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" | |
| echo "$PROGN: no host-specific postbuild script exists for project ${PROJECT} on host ${THOST} [job id ${JOBID}]" >> ${JLOG} | |
| fi | fi |
| fi | fi |
| fi | fi |