blob: fecb62811b0c6ca861d81fb931d9a671a6b40063 [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
21LOCAL_OUTPUT_PATH=$OUTPUT_DIR
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080022
23BUILD_DATE=$(date +%F)
24LATEST_REMOTE_PATH=/data/shanghai/image/RTOS/latest
fugui.zhang89409e12024-07-03 14:10:05 +080025REMOTE_PATH="$([ "$SUBMIT_TYPE" == "patch" ] && echo "/data/shanghai/image/RTOS/patchbuild" || echo "/data/shanghai/image/RTOS/$BUILD_DATE")"
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080026REMOTE_IMAGES_PATH=$REMOTE_PATH/images
27REMOTE_PACKAGES_PATH=$REMOTE_PATH/packages
28
Kelvin Zhangd64c8832022-04-02 19:56:24 +080029FIRMWARE_ACCOUNT=autobuild
30FIRMWARE_SERVER=firmware.amlogic.com
31
bin.chen1ae21872022-07-27 15:11:21 +080032make_image() {
fugui.zhang3ba92072024-06-13 17:15:30 +080033 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 +080034}
35
Kelvin Zhangaa84d882022-04-22 13:38:46 +080036publish_images() {
Kelvin Zhangc6e438b2023-04-21 18:48:25 +080037 LOCAL_IMAGE_PATH=$LOCAL_OUTPUT_PATH/$ARCH-$BOARD-$PRODUCT
Kelvin Zhangaa84d882022-04-22 13:38:46 +080038 REMOTE_IMAGE_PATH=$REMOTE_IMAGES_PATH/$ARCH-$BOARD-$PRODUCT
fugui.zhang89409e12024-07-03 14:10:05 +080039 echo "publish to $REMOTE_IMAGE_PATH"
Kelvin Zhangd64c8832022-04-02 19:56:24 +080040 if [ -d $LOCAL_IMAGE_PATH ]; then
41 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGE_PATH"
fugui.zhang89409e12024-07-03 14:10:05 +080042
Kelvin Zhangd64c8832022-04-02 19:56:24 +080043 if [ $? -ne 0 ]; then
44 echo "Failed to create remote image path! $REMOTE_IMAGE_PATH"
45 exit 1
46 else
47 echo "Remote image path: $REMOTE_IMAGE_PATH"
48 fi
Kelvin Zhangd64c8832022-04-02 19:56:24 +080049 pushd $LOCAL_IMAGE_PATH >/dev/null
50 tar -cJf $KERNEL.tar.xz $KERNEL/$KERNEL.*
Kelvin Zhangf19f3e02022-04-19 18:12:24 +080051 scp $KERNEL.tar.xz $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
Kelvin Zhangaa84d882022-04-22 13:38:46 +080052 scp images/* $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
Kelvin Zhangd64c8832022-04-02 19:56:24 +080053 popd >/dev/null
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080054 echo "Images publish done."
Kelvin Zhangd64c8832022-04-02 19:56:24 +080055 else
56 echo "No local image path! $LOCAL_IMAGE_PATH"
57 fi
58}
59
Kelvin Zhangaa84d882022-04-22 13:38:46 +080060post_publish_images() {
61 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGES_PATH"
62 if [ $? -ne 0 ]; then
63 echo "Failed to create remote image path! $REMOTE_IMAGES_PATH"
64 exit 1
65 else
66 echo "Remote image path: $REMOTE_IMAGES_PATH"
67 fi
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080068
69 LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log"
70 [ -z "$MANIFEST" ] && MANIFEST="$OUTPUT_DIR/manifest.xml"
71 [ -f $MANIFEST ] && LOCAL_FILES+=" $MANIFEST"
72 [ -z "$JENKINS_TRIGGER" ] && JENKINS_TRIGGER="$OUTPUT_DIR/jenkins_trigger.txt"
73 [ -f $JENKINS_TRIGGER ] && LOCAL_FILES+=" $JENKINS_TRIGGER"
Kelvin Zhangaa84d882022-04-22 13:38:46 +080074 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGES_PATH
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080075
76 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "rm -f $LATEST_REMOTE_PATH"
77 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "ln -s $REMOTE_PATH $LATEST_REMOTE_PATH"
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080078 echo "Post images publish done."
Kelvin Zhangaa84d882022-04-22 13:38:46 +080079}
Kelvin Zhangd64c8832022-04-02 19:56:24 +080080
Kelvin Zhangaa84d882022-04-22 13:38:46 +080081publish_packages() {
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080082 LOCAL_PACKAGE_PATH=$LOCAL_OUTPUT_PATH/packages/$CURRENT_PRODUCTS_DIR_NAME
shijie.xiong69cbf042022-04-22 13:32:39 +080083 REMOTE_PACKAGE_PATH=$REMOTE_PACKAGES_PATH/$CURRENT_PRODUCTS_DIR_NAME
84
Kelvin Zhangd64c8832022-04-02 19:56:24 +080085 if [ -d $LOCAL_PACKAGE_PATH ]; then
86 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGE_PATH"
87 if [ $? -ne 0 ]; then
88 echo "Failed to create remote package path! $REMOTE_PACKAGE_PATH"
89 exit 1
90 else
91 echo "Remote package path: $REMOTE_PACKAGE_PATH"
92 fi
Kelvin Zhangd64c8832022-04-02 19:56:24 +080093 pushd $LOCAL_PACKAGE_PATH >/dev/null
fugui.zhang89409e12024-07-03 14:10:05 +080094
Kelvin Zhangd64c8832022-04-02 19:56:24 +080095 scp -r . $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGE_PATH
96 popd >/dev/null
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080097 echo "Packages publish done."
Kelvin Zhangd64c8832022-04-02 19:56:24 +080098 else
99 echo "No local package path! $LOCAL_PACKAGE_PATH"
100 fi
101}
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800102
103post_publish_packages() {
104 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGES_PATH"
105 if [ $? -ne 0 ]; then
106 echo "Failed to create remote package path! $REMOTE_PACKAGES_PATH"
107 exit 1
108 else
109 echo "Remote package path: $REMOTE_PACKAGES_PATH"
110 fi
111 LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
112 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGES_PATH
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +0800113 echo "Post packages publish done."
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800114}