#!/bin/bash # # Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved. # # SPDX-License-Identifier: MIT # # Build and upload document publish_docoment() { REMOTE_DOC_PATH="ftp://rtos:rtos@platform.amlogic.com:2121/rtos-sdk/" find -type f | while read filename; do curl -s --ftp-create-dirs -T $filename $REMOTE_DOC_PATH/$filename if [ $? -ne 0 ]; then return 1 fi done } [ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output LOCAL_PATH=$OUTPUT_DIR BUILD_DATE=$(date +%F) REMOTE_BASE=/data/shanghai/image/RTOS if [[ "$SUBMIT_TYPE" == "daily" || "$SUBMIT_TYPE" == "release" ]]; then REMOTE_PATH=$REMOTE_BASE/$SUBMIT_TYPE/$BUILD_DATE/$PROJECT_NAME elif [[ "$SUBMIT_TYPE" == "patch" ]]; then REMOTE_PATH=$REMOTE_BASE/$SUBMIT_TYPE/$MANUAL_GERRIT_TOPIC/$PROJECT_NAME fi FIRMWARE_ACCOUNT=autobuild FIRMWARE_SERVER=firmware.amlogic.com publish_images() { LOCAL_IMAGE_PATH=$LOCAL_PATH/$ARCH-$BOARD-$PRODUCT REMOTE_IMAGE_PATH=$REMOTE_PATH/$ARCH-$BOARD-$PRODUCT echo "publish to $REMOTE_IMAGE_PATH" if [ -d $LOCAL_IMAGE_PATH ]; then ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGE_PATH" if [ $? -ne 0 ]; then echo "Failed to create remote image path! $REMOTE_IMAGE_PATH" exit 1 else echo "Remote image path: $REMOTE_IMAGE_PATH" fi pushd $LOCAL_IMAGE_PATH >/dev/null scp images/* $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH popd >/dev/null echo "Images publish done." else echo "No local image path! $LOCAL_IMAGE_PATH" fi } post_publish_images() { ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PATH" if [ $? -ne 0 ]; then echo "Failed to create remote image path! $REMOTE_PATH" exit 1 else echo "Remote image path: $REMOTE_PATH" fi LOCAL_FILES="$LOCAL_PATH/build.log" [ -z "$MANIFEST" ] && MANIFEST="$OUTPUT_DIR/manifest.xml" [ -f $MANIFEST ] && LOCAL_FILES+=" $MANIFEST" [ -z "$JENKINS_TRIGGER" ] && JENKINS_TRIGGER="$OUTPUT_DIR/jenkins_trigger.txt" [ -f $JENKINS_TRIGGER ] && [[ "$SUBMIT_TYPE" == "release" ]] && LOCAL_FILES+=" $JENKINS_TRIGGER" scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PATH echo "Post images publish done." } publish_packages() { LOCAL_PACKAGE_PATH=$LOCAL_PATH/packages/$CURRENT_PRODUCTS_DIR_NAME REMOTE_PACKAGE_PATH=$REMOTE_PATH/$CURRENT_PRODUCTS_DIR_NAME if [ -d $LOCAL_PACKAGE_PATH ]; then ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGE_PATH" if [ $? -ne 0 ]; then echo "Failed to create remote package path! $REMOTE_PACKAGE_PATH" exit 1 else echo "Remote package path: $REMOTE_PACKAGE_PATH" fi pushd $LOCAL_PACKAGE_PATH >/dev/null scp -r . $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGE_PATH popd >/dev/null echo "Packages publish done." else echo "No local package path! $LOCAL_PACKAGE_PATH" fi } post_publish_packages() { ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PATH" if [ $? -ne 0 ]; then echo "Failed to create remote package path! $REMOTE_PATH" exit 1 else echo "Remote package path: $REMOTE_PATH" fi LOCAL_FILES="$LOCAL_PATH/build.log $LOCAL_PATH/manifest.xml" scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PATH echo "Post packages publish done." } show_download_url() { WEB_PATH=`echo ${REMOTE_PATH#*data}` DOWNLOAD_URL="http://$FIRMWARE_SERVER$WEB_PATH" echo " $DOWNLOAD_URL" }