build_inf.sh: temp step for CI test
[pti/rtp.git] / scripts / build_inf.sh
index b5f4846..f878883 100755 (executable)
@@ -22,6 +22,7 @@ set -e -o pipefail
 #########################################################################
 
 SCRIPTS_DIR=$(dirname $(readlink -f $0))
+SCRIPTS_NAME=$(basename $0)
 TIMESTAMP=`date +"%Y%m%d_%H%M%S"`
 
 #########################################################################
@@ -34,7 +35,7 @@ Note:
 This is a wrapper script to build both Yocto based and CentOS based images
 with default options, and tend to be used by ORAN CI build only.
 Usage:
-$(basename $0) [-w WORKSPACE_DIR] [-n] [-h]
+${SCRIPTS_NAME} [-w WORKSPACE_DIR] [-n] [-h]
 where:
     -w WORKSPACE_DIR is the path for the project
     -n dry-run only for bitbake
@@ -48,14 +49,14 @@ ENDHELP
 echo_step_start() {
     [ -n "$1" ] && msg_step=$1
     echo "#########################################################################################"
-    echo "## STEP START: ${msg_step}"
+    echo "## ${SCRIPTS_NAME} - STEP START: ${msg_step}"
     echo "#########################################################################################"
 }
 
 echo_step_end() {
     [ -n "$1" ] && msg_step=$1
     echo "#########################################################################################"
-    echo "## STEP END: ${msg_step}"
+    echo "## ${SCRIPTS_NAME} - STEP END: ${msg_step}"
     echo "#########################################################################################"
     echo
 }
@@ -68,18 +69,18 @@ echo_error () {
     echo "ERROR: $1"
 }
 
-echo_cmd () {
+run_cmd () {
     echo
     echo_info "$1"
     echo "CMD: ${RUN_CMD}"
+    ${RUN_CMD}
 }
 
-
 #########################################################################
 # Parse cmd options
 #########################################################################
 
-DRYRUN=""
+DRYRUN="-n"
 YP_ARGS="-s"
 
 while getopts "w:b:e:r:unh" OPTION; do
@@ -108,9 +109,12 @@ fi
 #########################################################################
 WORKSPACE_YP=${WORKSPACE}/workspace_yocto
 WORKSPACE_CENTOS=${WORKSPACE}/workspace_centos
+WORKSPACE_DEB=${WORKSPACE}/workspace_debian
 SCRIPT_YP=${SCRIPTS_DIR}/build_inf_yocto/build_inf_yocto.sh
 SCRIPT_CENTOS=${SCRIPTS_DIR}/build_inf_centos/build_inf_centos.sh
 SCRIPT_CENTOS_PRE=${SCRIPTS_DIR}/build_inf_centos/build_inf_prepare_jenkins.sh
+SCRIPT_DEB=${SCRIPTS_DIR}/build_inf_debian/build_inf_debian.sh
+SCRIPT_DEB_PRE=${SCRIPTS_DIR}/build_inf_debian/build_inf_prepare_jenkins.sh
 
 prepare_workspace () {
     msg_step="Create workspace for the multi-os builds"
@@ -149,6 +153,56 @@ get_debug_info () {
     echo_step_end
 }
 
+build_yocto () {
+    msg_step="Yocto builds"
+    echo_step_start
+
+    RUN_CMD="${SCRIPT_YP} -w ${WORKSPACE_YP} ${DRYRUN} ${YP_ARGS}"
+    run_cmd "Start Yocto builds"
+
+    echo_step_end
+}
+
+build_centos () {
+    # dry-run is not supported yet for CentOS build
+    if [ -z "${DRYRUN}" ]; then
+        msg_step="CentOS builds"
+        echo_step_start
+
+        if [ "$CI" = "true" ]; then
+            RUN_CMD="${SCRIPT_CENTOS_PRE} -w ${WORKSPACE_CENTOS}"
+            run_cmd "Prepare for CentOS builds"
+        fi
+        RUN_CMD="${SCRIPT_CENTOS} -w ${WORKSPACE_CENTOS} ${DRYRUN}"
+        run_cmd "Start CentOS builds"
+
+        echo_step_end
+    fi
+}
+
+build_centos_dl () {
+    # Temp for testing the lftools deploy
+    mkdir -p ${WORKSPACE_DEB}/prj_output/
+    wget http://mirror.starlingx.cengn.ca/mirror/starlingx/master/debian/monolithic/latest_build/outputs/iso/starlingx-intel-x86-64-cd.iso -O ${WORKSPACE_DEB}/prj_output/inf-image-debian-all-x86-64.iso
+}
+
+build_debian () {
+    if [ -z "${DRYRUN}" ]; then
+        msg_step="Debian builds"
+        echo_step_start
+
+        if [ "$CI" = "true" ]; then
+            RUN_CMD="${SCRIPT_DEB_PRE} -w ${WORKSPACE_DEB}"
+            run_cmd "Prepare for Debian builds"
+        fi
+
+        RUN_CMD="${SCRIPT_DEB} -w ${WORKSPACE_DEB} ${DRYRUN}"
+        run_cmd "Start Yocto builds"
+
+        echo_step_end
+    fi
+}
+
 
 #########################################################################
 # Main process
@@ -159,12 +213,8 @@ if [ "$CI" = "true" ]; then
     get_debug_info
 fi
 
-# dry-run is not supported yet for CentOS build
-if [ -z "${DRYRUN}" ]; then
-    if [ "$CI" = "true" ]; then
-        ${SCRIPT_CENTOS_PRE} -w ${WORKSPACE_CENTOS} || true
-    fi
-    ${SCRIPT_CENTOS} -w ${WORKSPACE_CENTOS} ${DRYRUN} || true
-fi
+build_yocto
+#build_centos
+build_centos_dl
+#build_debian
 
-${SCRIPT_YP} -w ${WORKSPACE_YP} ${DRYRUN} ${YP_ARGS}