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."
+}