build_all.sh: integrate firmware publishing [1/1]
PD#SWPL-67525
Problem:
integrate firmware publishing
Solution:
integrate firmware publishing
Verify:
ad401_a113l
Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
Change-Id: If1e77b65fb03d2195d7e97e5f0313d72989fc5ba
diff --git a/build_all.sh b/build_all.sh
index 7409976..0e678b4 100755
--- a/build_all.sh
+++ b/build_all.sh
@@ -7,16 +7,15 @@
# usage:./scripts/build_all.sh at rtos sdk root dir
-BUILD_COMBINATION="$PWD/scripts/build_combination.txt"
LOCAL_DOC_PATH="$PWD/output/docs/html"
-SERVER_DOC_PATH="ftp://platform:platform@10.68.11.163:2222/Documents/Ecosystem/RTOS/rtos-sdk/"
+REMOTE_DOC_PATH="ftp://platform:platform@10.68.11.163:2222/Documents/Ecosystem/RTOS/rtos-sdk/"
# Build and upload document
update_docoment()
{
find -type f | while read filename
do
- curl -s --ftp-create-dirs -T $filename $SERVER_DOC_PATH/$filename
+ curl -s --ftp-create-dirs -T $filename $REMOTE_DOC_PATH/$filename
if [ $? -ne 0 ]; then
return 1;
fi
@@ -26,20 +25,54 @@
if [[ "$SUBMIT_TYPE" == "daily" ]]; then
make docs
if [ -d $LOCAL_DOC_PATH ]; then
- cd $LOCAL_DOC_PATH
+ pushd $LOCAL_DOC_PATH > /dev/null
update_docoment
if [ $? -ne 0 ]; then
echo "Failed to update document"
else
echo "Document updated!"
fi
+ popd > /dev/null
else
echo "$LOCAL_DOC_PATH not exist!"
fi
- cd -
fi
+BUILD_DATE=`date +%F`
+FIRMWARE_SERVER=firmware.amlogic.com
+
+publish_firmware()
+{
+ LOCAL_FIRMWARE_PATH=output/$BOARD-$PRODUCT
+ REMOTE_FIRMWARE_PATH=/data/shanghai/image/RTOS/$BUILD_DATE/$BOARD-$PRODUCT
+
+ if [ -d $LOCAL_FIRMWARE_PATH ]
+ then
+
+ ssh -n autobuild@$FIRMWARE_SERVER "mkdir -p $REMOTE_FIRMWARE_PATH"
+ if [ $? -ne 0 ]
+ then
+ echo "Failed to create remote path! $REMOTE_FIRMWARE_PATH"
+ exit 1
+ else
+ echo "Remote path: $REMOTE_FIRMWARE_PATH"
+ fi
+ scp build.log autobuild@$FIRMWARE_SERVER:$REMOTE_FIRMWARE_PATH
+ pushd $LOCAL_FIRMWARE_PATH > /dev/null
+ tar -cJf $KERNEL.tar.xz $KERNEL/$KERNEL.*
+ LOCAL_FILES="manifest.xml $KERNEL.tar.xz"
+ scp $LOCAL_FILES autobuild@$FIRMWARE_SERVER:$REMOTE_FIRMWARE_PATH
+ scp -r images autobuild@$FIRMWARE_SERVER:$REMOTE_FIRMWARE_PATH
+ popd > /dev/null
+ echo "Publish success."
+ else
+ echo "No local path! $LOCAL_FIRMWARE_PATH"
+ fi
+}
+
# Build all projects
+BUILD_COMBINATION="$PWD/scripts/build_combination.txt"
+
i=0
while IFS= read -r LINE; do
[[ "$i" -ne 0 ]] && echo ""
@@ -51,7 +84,7 @@
make
[ "$?" -ne 0 ] && echo "Failed to make!" && exit 3
if [[ "$SUBMIT_TYPE" == "daily" ]]; then
- scripts/scp.sh
+ publish_firmware
[ "$?" -ne 0 ] && echo "Failed to source scripts/scp.sh!" && exit 4
fi
done < "$BUILD_COMBINATION"