publish.sh: improve publish.sh [1/1]

PD#SWPL-67525

Problem:
improve publish.sh

Solution:
improve publish.sh

Verify:
ad401_a113l

Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
Change-Id: I4f74af1cc7d2d165cb317a5feb273ff2ea82df0d
diff --git a/build_all.sh b/build_all.sh
index d2161e2..4f80a2e 100755
--- a/build_all.sh
+++ b/build_all.sh
@@ -39,8 +39,8 @@
 	make
 	[ "$?" -ne 0 ] && echo "Failed to make!" && exit 3
 	if [[ "$SUBMIT_TYPE" == "daily" ]]; then
-		publish_image
-		[ "$?" -ne 0 ] && echo "Failed to source scripts/scp.sh!" && exit 4
+		publish_images
+		[ "$?" -ne 0 ] && echo "Failed to publish images!" && exit 4
 	fi
 done <"$BUILD_COMBINATION"
 
diff --git a/build_all_pkg.sh b/build_all_pkg.sh
index eb33c3e..5d82823 100755
--- a/build_all_pkg.sh
+++ b/build_all_pkg.sh
@@ -35,8 +35,8 @@
 	make package
 	[ "$?" -ne 0 ] && echo "Failed to make!" && exit 3
 	if [[ "$SUBMIT_TYPE" == "release" ]]; then
-		publish_package
-		[ "$?" -ne 0 ] && echo "Failed to source scripts/scp.sh!" && exit 4
+		publish_packages
+		[ "$?" -ne 0 ] && echo "Failed to publish packages!" && exit 4
 	fi
 	index=$((index + 1))
 done <"$PACKAGE_COMBINATION"
diff --git a/jenkins_verify.sh b/jenkins_verify.sh
index 826a111..953aa25 100755
--- a/jenkins_verify.sh
+++ b/jenkins_verify.sh
@@ -125,10 +125,14 @@
 # Manually cherry pick patches
 ./scripts/cherry_pick.sh
 
+# Include publish functions
+source scripts/publish.sh
+
 if [[ "$SUBMIT_TYPE" == "release" ]]; then
 	echo "========= Building all packages ========"
 	./scripts/build_all_pkg.sh > $BUILD_LOG 2>&1
 	if [ "$?" -eq 0 ]; then
+		post_publish_packages >> $BUILD_LOG 2>&1
 		echo "======== Done ========"
 	else
 		cat $BUILD_LOG
@@ -139,6 +143,7 @@
 	echo "========= Building all projects ========"
 	./scripts/build_all.sh > $BUILD_LOG 2>&1
 	if [ "$?" -eq 0 ]; then
+		post_publish_images >> $BUILD_LOG 2>&1
 		echo "======== Done ========"
 	else
 		cat $BUILD_LOG
diff --git a/publish.sh b/publish.sh
index 5d9f193..10c6656 100755
--- a/publish.sh
+++ b/publish.sh
@@ -20,12 +20,15 @@
 
 BUILD_DATE=$(date +%F)
 LOCAL_OUTPUT_PATH=output
+LOCAL_PACKAGES_PATH=$LOCAL_OUTPUT_PATH/packages
 FIRMWARE_ACCOUNT=autobuild
 FIRMWARE_SERVER=firmware.amlogic.com
+REMOTE_IMAGES_PATH=/data/shanghai/image/RTOS/$BUILD_DATE/images
+REMOTE_PACKAGES_PATH=/data/shanghai/image/RTOS/$BUILD_DATE/packages
 
-publish_image() {
+publish_images() {
 	LOCAL_IMAGE_PATH=$LOCAL_OUTPUT_PATH/$ARCH-$BOARD-$PRODUCT
-	REMOTE_IMAGE_PATH=/data/shanghai/image/RTOS/$BUILD_DATE/images/$ARCH-$BOARD-$PRODUCT
+	REMOTE_IMAGE_PATH=$REMOTE_IMAGES_PATH/$ARCH-$BOARD-$PRODUCT
 
 	if [ -d $LOCAL_IMAGE_PATH ]; then
 		ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGE_PATH"
@@ -35,12 +38,10 @@
 		else
 			echo "Remote image path: $REMOTE_IMAGE_PATH"
 		fi
-		LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
-		scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
 		pushd $LOCAL_IMAGE_PATH >/dev/null
 		tar -cJf $KERNEL.tar.xz $KERNEL/$KERNEL.*
 		scp $KERNEL.tar.xz $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
-		scp -r images $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
+		scp images/* $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
 		popd >/dev/null
 		echo "Publish images success."
 	else
@@ -48,10 +49,20 @@
 	fi
 }
 
-publish_package() {
-	LOCAL_PACKAGE_PATH=$LOCAL_OUTPUT_PATH/package/images
-	REMOTE_PACKAGE_PATH=/data/shanghai/image/RTOS/$BUILD_DATE/packages
+post_publish_images() {
+	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGES_PATH"
+	if [ $? -ne 0 ]; then
+		echo "Failed to create remote image path! $REMOTE_IMAGES_PATH"
+		exit 1
+	else
+		echo "Remote image path: $REMOTE_IMAGES_PATH"
+	fi
+	LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
+	scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGES_PATH
+	echo "Post publish images done."
+}
 
+publish_packages() {
 	if [ -d $LOCAL_PACKAGE_PATH ]; then
 		ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGE_PATH"
 		if [ $? -ne 0 ]; then
@@ -70,3 +81,16 @@
 		echo "No local package path! $LOCAL_PACKAGE_PATH"
 	fi
 }
+
+post_publish_packages() {
+	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGES_PATH"
+	if [ $? -ne 0 ]; then
+		echo "Failed to create remote package path! $REMOTE_PACKAGES_PATH"
+		exit 1
+	else
+		echo "Remote package path: $REMOTE_PACKAGES_PATH"
+	fi
+	LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
+	scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGES_PATH
+	echo "Post publish packages done."
+}