blob: 162f7094f7818a4b4944e480e5f5af63987c0691 [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
25REMOTE_PATH=/data/shanghai/image/RTOS/$BUILD_DATE
26REMOTE_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() {
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080033 mkimage -A $ARCH -O u-boot -T standalone -C none -a 0x1000 -e 0x1000 -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
Kelvin Zhangd64c8832022-04-02 19:56:24 +080039
40 if [ -d $LOCAL_IMAGE_PATH ]; then
41 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGE_PATH"
42 if [ $? -ne 0 ]; then
43 echo "Failed to create remote image path! $REMOTE_IMAGE_PATH"
44 exit 1
45 else
46 echo "Remote image path: $REMOTE_IMAGE_PATH"
47 fi
Kelvin Zhangd64c8832022-04-02 19:56:24 +080048 pushd $LOCAL_IMAGE_PATH >/dev/null
49 tar -cJf $KERNEL.tar.xz $KERNEL/$KERNEL.*
Kelvin Zhangf19f3e02022-04-19 18:12:24 +080050 scp $KERNEL.tar.xz $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
Kelvin Zhangaa84d882022-04-22 13:38:46 +080051 scp images/* $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
Kelvin Zhangd64c8832022-04-02 19:56:24 +080052 popd >/dev/null
53 echo "Publish images success."
54 else
55 echo "No local image path! $LOCAL_IMAGE_PATH"
56 fi
57}
58
Kelvin Zhangaa84d882022-04-22 13:38:46 +080059post_publish_images() {
60 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGES_PATH"
61 if [ $? -ne 0 ]; then
62 echo "Failed to create remote image path! $REMOTE_IMAGES_PATH"
63 exit 1
64 else
65 echo "Remote image path: $REMOTE_IMAGES_PATH"
66 fi
67 LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
Kelvin Zhang8b78b332022-06-09 13:33:43 +080068 [ -f $LOCAL_OUTPUT_PATH/gerrit_trigger.txt ] && LOCAL_FILES+=" $LOCAL_OUTPUT_PATH/jenkins_trigger.txt"
Kelvin Zhangaa84d882022-04-22 13:38:46 +080069 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGES_PATH
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080070
71 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "rm -f $LATEST_REMOTE_PATH"
72 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "ln -s $REMOTE_PATH $LATEST_REMOTE_PATH"
Kelvin Zhangaa84d882022-04-22 13:38:46 +080073 echo "Post publish images done."
74}
Kelvin Zhangd64c8832022-04-02 19:56:24 +080075
Kelvin Zhangaa84d882022-04-22 13:38:46 +080076publish_packages() {
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080077 LOCAL_PACKAGE_PATH=$LOCAL_OUTPUT_PATH/packages/$CURRENT_PRODUCTS_DIR_NAME
shijie.xiong69cbf042022-04-22 13:32:39 +080078 REMOTE_PACKAGE_PATH=$REMOTE_PACKAGES_PATH/$CURRENT_PRODUCTS_DIR_NAME
79
Kelvin Zhangd64c8832022-04-02 19:56:24 +080080 if [ -d $LOCAL_PACKAGE_PATH ]; then
81 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGE_PATH"
82 if [ $? -ne 0 ]; then
83 echo "Failed to create remote package path! $REMOTE_PACKAGE_PATH"
84 exit 1
85 else
86 echo "Remote package path: $REMOTE_PACKAGE_PATH"
87 fi
Kelvin Zhangd64c8832022-04-02 19:56:24 +080088 pushd $LOCAL_PACKAGE_PATH >/dev/null
89 scp -r . $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGE_PATH
90 popd >/dev/null
91 echo "Publish packages success."
92 else
93 echo "No local package path! $LOCAL_PACKAGE_PATH"
94 fi
95}
Kelvin Zhangaa84d882022-04-22 13:38:46 +080096
97post_publish_packages() {
98 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGES_PATH"
99 if [ $? -ne 0 ]; then
100 echo "Failed to create remote package path! $REMOTE_PACKAGES_PATH"
101 exit 1
102 else
103 echo "Remote package path: $REMOTE_PACKAGES_PATH"
104 fi
105 LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
106 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGES_PATH
107 echo "Post publish packages done."
108}