blob: 757087f9dcb7d7e11109899edf7abd5b69cc6575 [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
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080053 echo "Images publish done."
Kelvin Zhangd64c8832022-04-02 19:56:24 +080054 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
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080067
68 LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log"
69 [ -z "$MANIFEST" ] && MANIFEST="$OUTPUT_DIR/manifest.xml"
70 [ -f $MANIFEST ] && LOCAL_FILES+=" $MANIFEST"
71 [ -z "$JENKINS_TRIGGER" ] && JENKINS_TRIGGER="$OUTPUT_DIR/jenkins_trigger.txt"
72 [ -f $JENKINS_TRIGGER ] && LOCAL_FILES+=" $JENKINS_TRIGGER"
Kelvin Zhangaa84d882022-04-22 13:38:46 +080073 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGES_PATH
Kelvin Zhang22cb55e2022-06-08 20:21:00 +080074
75 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "rm -f $LATEST_REMOTE_PATH"
76 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "ln -s $REMOTE_PATH $LATEST_REMOTE_PATH"
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080077 echo "Post images publish done."
Kelvin Zhangaa84d882022-04-22 13:38:46 +080078}
Kelvin Zhangd64c8832022-04-02 19:56:24 +080079
Kelvin Zhangaa84d882022-04-22 13:38:46 +080080publish_packages() {
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080081 LOCAL_PACKAGE_PATH=$LOCAL_OUTPUT_PATH/packages/$CURRENT_PRODUCTS_DIR_NAME
shijie.xiong69cbf042022-04-22 13:32:39 +080082 REMOTE_PACKAGE_PATH=$REMOTE_PACKAGES_PATH/$CURRENT_PRODUCTS_DIR_NAME
83
Kelvin Zhangd64c8832022-04-02 19:56:24 +080084 if [ -d $LOCAL_PACKAGE_PATH ]; then
85 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGE_PATH"
86 if [ $? -ne 0 ]; then
87 echo "Failed to create remote package path! $REMOTE_PACKAGE_PATH"
88 exit 1
89 else
90 echo "Remote package path: $REMOTE_PACKAGE_PATH"
91 fi
Kelvin Zhangd64c8832022-04-02 19:56:24 +080092 pushd $LOCAL_PACKAGE_PATH >/dev/null
93 scp -r . $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGE_PATH
94 popd >/dev/null
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080095 echo "Packages publish done."
Kelvin Zhangd64c8832022-04-02 19:56:24 +080096 else
97 echo "No local package path! $LOCAL_PACKAGE_PATH"
98 fi
99}
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800100
101post_publish_packages() {
102 ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGES_PATH"
103 if [ $? -ne 0 ]; then
104 echo "Failed to create remote package path! $REMOTE_PACKAGES_PATH"
105 exit 1
106 else
107 echo "Remote package path: $REMOTE_PACKAGES_PATH"
108 fi
109 LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
110 scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGES_PATH
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +0800111 echo "Post packages publish done."
Kelvin Zhangaa84d882022-04-22 13:38:46 +0800112}