blob: c4246befa001d05f737fb8ee56d433d8ae72a096 [file] [log] [blame]
Kelvin Zhangd64c8832022-04-02 19:56:24 +08001#!/bin/bash
2#
3# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
4#
5# SPDX-License-Identifier: MIT
6#
7
Kelvin Zhangd64c8832022-04-02 19:56:24 +08008# Build and upload document
9publish_docoment() {
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080010 REMOTE_DOC_PATH="ftp://platform:platform@10.68.11.163:2222/Documents/Ecosystem/RTOS/rtos-sdk/"
11
Kelvin Zhangd64c8832022-04-02 19:56:24 +080012 find -type f | while read filename; do
13 curl -s --ftp-create-dirs -T $filename $REMOTE_DOC_PATH/$filename
14 if [ $? -ne 0 ]; then
15 return 1
16 fi
17 done
18}
19
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080020[ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output
Kelvin Zhang97671bd2024-08-21 17:51:31 +080021LOCAL_PATH=$OUTPUT_DIR
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080022
23BUILD_DATE=$(date +%F)
Kelvin Zhang97671bd2024-08-21 17:51:31 +080024REMOTE_BASE=/data/shanghai/image/RTOS
25if [[ "$SUBMIT_TYPE" == "daily" || "$SUBMIT_TYPE" == "release" ]]; then
26 REMOTE_PATH=$REMOTE_BASE/$SUBMIT_TYPE/$BUILD_DATE
27else
28 REMOTE_PATH=$REMOTE_BASE/$SUBMIT_TYPE
29fi
30LATEST_PATH=$REMOTE_BASE/$SUBMIT_TYPE/latest
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080031
Kelvin Zhangd64c8832022-04-02 19:56:24 +080032FIRMWARE_ACCOUNT=autobuild
33FIRMWARE_SERVER=firmware.amlogic.com
34
bin.chen1ae21872022-07-27 15:11:21 +080035make_image() {
Kelvin Zhang97671bd2024-08-21 17:51:31 +080036 LOCAL_IMAGE_PATH=$LOCAL_PATH/$ARCH-$BOARD-$PRODUCT
fugui.zhang3ba92072024-06-13 17:15:30 +080037 mkimage -A $ARCH -O u-boot -T standalone -C none -a 0x10000 -e 0x10000 -n rtos -d $LOCAL_IMAGE_PATH/images/freertos-signed.bin $LOCAL_IMAGE_PATH/images/rtos-uImage
bin.chen1ae21872022-07-27 15:11:21 +080038}
39
Kelvin Zhangaa84d882022-04-22 13:38:46 +080040publish_images() {
Kelvin Zhang97671bd2024-08-21 17:51:31 +080041 LOCAL_IMAGE_PATH=$LOCAL_PATH/$ARCH-$BOARD-$PRODUCT
42 REMOTE_IMAGE_PATH=$REMOTE_PATH/$ARCH-$BOARD-$PRODUCT
fugui.zhang89409e12024-07-03 14:10:05 +080043 echo "publish to $REMOTE_IMAGE_PATH"
Kelvin Zhangd64c8832022-04-02 19:56:24 +080044 if [ -d $LOCAL_IMAGE_PATH ]; then
45 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGE_PATH"
fugui.zhang89409e12024-07-03 14:10:05 +080046
Kelvin Zhangd64c8832022-04-02 19:56:24 +080047 if [ $? -ne 0 ]; then
48 echo "Failed to create remote image path! $REMOTE_IMAGE_PATH"
49 exit 1
50 else
51 echo "Remote image path: $REMOTE_IMAGE_PATH"
52 fi
Kelvin Zhangd64c8832022-04-02 19:56:24 +080053 pushd $LOCAL_IMAGE_PATH >/dev/null
Kelvin Zhangaa84d882022-04-22 13:38:46 +080054 scp images/* $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
Kelvin Zhangd64c8832022-04-02 19:56:24 +080055 popd >/dev/null
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080056 echo "Images publish done."
Kelvin Zhangd64c8832022-04-02 19:56:24 +080057 else
58 echo "No local image path! $LOCAL_IMAGE_PATH"
59 fi
60}
61
Kelvin Zhangaa84d882022-04-22 13:38:46 +080062post_publish_images() {
Kelvin Zhang97671bd2024-08-21 17:51:31 +080063 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PATH"
Kelvin Zhangaa84d882022-04-22 13:38:46 +080064 if [ $? -ne 0 ]; then
Kelvin Zhang97671bd2024-08-21 17:51:31 +080065 echo "Failed to create remote image path! $REMOTE_PATH"
Kelvin Zhangaa84d882022-04-22 13:38:46 +080066 exit 1
67 else
Kelvin Zhang97671bd2024-08-21 17:51:31 +080068 echo "Remote image path: $REMOTE_PATH"
Kelvin Zhangaa84d882022-04-22 13:38:46 +080069 fi
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080070
Kelvin Zhang97671bd2024-08-21 17:51:31 +080071 LOCAL_FILES="$LOCAL_PATH/build.log"
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080072 [ -z "$MANIFEST" ] && MANIFEST="$OUTPUT_DIR/manifest.xml"
73 [ -f $MANIFEST ] && LOCAL_FILES+=" $MANIFEST"
74 [ -z "$JENKINS_TRIGGER" ] && JENKINS_TRIGGER="$OUTPUT_DIR/jenkins_trigger.txt"
75 [ -f $JENKINS_TRIGGER ] && LOCAL_FILES+=" $JENKINS_TRIGGER"
Kelvin Zhang97671bd2024-08-21 17:51:31 +080076 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PATH
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080077
Kelvin Zhang97671bd2024-08-21 17:51:31 +080078 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "rm -f $LATEST_PATH"
79 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "ln -s $REMOTE_PATH $LATEST_PATH"
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080080 echo "Post images publish done."
Kelvin Zhangaa84d882022-04-22 13:38:46 +080081}
Kelvin Zhangd64c8832022-04-02 19:56:24 +080082
Kelvin Zhangaa84d882022-04-22 13:38:46 +080083publish_packages() {
Kelvin Zhang97671bd2024-08-21 17:51:31 +080084 LOCAL_PACKAGE_PATH=$LOCAL_PATH/packages/$CURRENT_PRODUCTS_DIR_NAME
85 REMOTE_PACKAGE_PATH=$REMOTE_PATH/$CURRENT_PRODUCTS_DIR_NAME
shijie.xiong69cbf042022-04-22 13:32:39 +080086
Kelvin Zhangd64c8832022-04-02 19:56:24 +080087 if [ -d $LOCAL_PACKAGE_PATH ]; then
88 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGE_PATH"
89 if [ $? -ne 0 ]; then
90 echo "Failed to create remote package path! $REMOTE_PACKAGE_PATH"
91 exit 1
92 else
93 echo "Remote package path: $REMOTE_PACKAGE_PATH"
94 fi
Kelvin Zhangd64c8832022-04-02 19:56:24 +080095 pushd $LOCAL_PACKAGE_PATH >/dev/null
fugui.zhang89409e12024-07-03 14:10:05 +080096
Kelvin Zhangd64c8832022-04-02 19:56:24 +080097 scp -r . $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGE_PATH
98 popd >/dev/null
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080099 echo "Packages publish done."
Kelvin Zhangd64c8832022-04-02 19:56:24 +0800100 else
101 echo "No local package path! $LOCAL_PACKAGE_PATH"
102 fi
103}
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800104
105post_publish_packages() {
Kelvin Zhang97671bd2024-08-21 17:51:31 +0800106 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PATH"
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800107 if [ $? -ne 0 ]; then
Kelvin Zhang97671bd2024-08-21 17:51:31 +0800108 echo "Failed to create remote package path! $REMOTE_PATH"
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800109 exit 1
110 else
Kelvin Zhang97671bd2024-08-21 17:51:31 +0800111 echo "Remote package path: $REMOTE_PATH"
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800112 fi
Kelvin Zhang97671bd2024-08-21 17:51:31 +0800113 LOCAL_FILES="$LOCAL_PATH/build.log $LOCAL_PATH/manifest.xml"
114 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PATH
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +0800115 echo "Post packages publish done."
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800116}
Kelvin Zhang97671bd2024-08-21 17:51:31 +0800117
118show_download_url() {
119 WEB_PATH=`echo ${LATEST_PATH#*data}`
120 DOWNLOAD_URL="http://$FIRMWARE_SERVER$WEB_PATH"
121 echo "<Download Address> $DOWNLOAD_URL"
122}