blob: bb047c914a6b6fdc9e55c1a69e85658cb56ff42d [file] [log] [blame]
Kelvin Zhang14bca5e2021-12-15 19:19:35 +08001#!/bin/bash
yang.li09520922022-01-12 15:51:51 +08002#
yang.liffa60e52022-01-11 14:38:56 +08003# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
yang.li09520922022-01-12 15:51:51 +08004#
yang.liffa60e52022-01-11 14:38:56 +08005# SPDX-License-Identifier: MIT
yang.li09520922022-01-12 15:51:51 +08006#
yang.liffa60e52022-01-11 14:38:56 +08007
Kelvin Zhang09786122022-02-11 15:56:08 +08008# usage:./scripts/build_all.sh at rtos sdk root dir
Kelvin Zhang14bca5e2021-12-15 19:19:35 +08009
Kelvin Zhang23075212022-02-11 18:26:18 +080010LOCAL_DOC_PATH="$PWD/output/docs/html"
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080011REMOTE_DOC_PATH="ftp://platform:platform@10.68.11.163:2222/Documents/Ecosystem/RTOS/rtos-sdk/"
Kelvin Zhang14bca5e2021-12-15 19:19:35 +080012
Kelvin Zhang09786122022-02-11 15:56:08 +080013# Build and upload document
Kelvin Zhang1fea9142022-02-11 18:19:56 +080014update_docoment()
15{
16 find -type f | while read filename
17 do
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080018 curl -s --ftp-create-dirs -T $filename $REMOTE_DOC_PATH/$filename
Kelvin Zhang1fea9142022-02-11 18:19:56 +080019 if [ $? -ne 0 ]; then
20 return 1;
21 fi
22 done
23}
24
Kelvin Zhang09786122022-02-11 15:56:08 +080025if [[ "$SUBMIT_TYPE" == "daily" ]]; then
26 make docs
kelvin.zhang77dd5442022-02-14 10:26:15 +080027 if [ -d $LOCAL_DOC_PATH ]; then
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080028 pushd $LOCAL_DOC_PATH > /dev/null
Kelvin Zhang23075212022-02-11 18:26:18 +080029 update_docoment
30 if [ $? -ne 0 ]; then
31 echo "Failed to update document"
32 else
33 echo "Document updated!"
34 fi
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080035 popd > /dev/null
Kelvin Zhang1fea9142022-02-11 18:19:56 +080036 else
Kelvin Zhang23075212022-02-11 18:26:18 +080037 echo "$LOCAL_DOC_PATH not exist!"
Kelvin Zhang7f0d2e02022-02-14 10:16:35 +080038 fi
Kelvin Zhang09786122022-02-11 15:56:08 +080039fi
40
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080041BUILD_DATE=`date +%F`
42FIRMWARE_SERVER=firmware.amlogic.com
43
44publish_firmware()
45{
46 LOCAL_FIRMWARE_PATH=output/$BOARD-$PRODUCT
47 REMOTE_FIRMWARE_PATH=/data/shanghai/image/RTOS/$BUILD_DATE/$BOARD-$PRODUCT
48
49 if [ -d $LOCAL_FIRMWARE_PATH ]
50 then
51
52 ssh -n autobuild@$FIRMWARE_SERVER "mkdir -p $REMOTE_FIRMWARE_PATH"
53 if [ $? -ne 0 ]
54 then
55 echo "Failed to create remote path! $REMOTE_FIRMWARE_PATH"
56 exit 1
57 else
58 echo "Remote path: $REMOTE_FIRMWARE_PATH"
59 fi
60 scp build.log autobuild@$FIRMWARE_SERVER:$REMOTE_FIRMWARE_PATH
61 pushd $LOCAL_FIRMWARE_PATH > /dev/null
62 tar -cJf $KERNEL.tar.xz $KERNEL/$KERNEL.*
63 LOCAL_FILES="manifest.xml $KERNEL.tar.xz"
64 scp $LOCAL_FILES autobuild@$FIRMWARE_SERVER:$REMOTE_FIRMWARE_PATH
65 scp -r images autobuild@$FIRMWARE_SERVER:$REMOTE_FIRMWARE_PATH
66 popd > /dev/null
67 echo "Publish success."
68 else
69 echo "No local path! $LOCAL_FIRMWARE_PATH"
70 fi
71}
72
kelvin.zhang2219b412022-03-04 16:44:41 +080073# Manually cherry pick patches
74./scripts/cherry_pick.sh
kelvin.zhang5fd25982022-03-04 09:43:01 +080075
Kelvin Zhang0f465a02022-02-11 15:39:54 +080076# Build all projects
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080077BUILD_COMBINATION="$PWD/scripts/build_combination.txt"
78
Kelvin Zhang14bca5e2021-12-15 19:19:35 +080079i=0
80while IFS= read -r LINE; do
81 [[ "$i" -ne 0 ]] && echo ""
82 i=$((i+1))
Kelvin Zhang14bca5e2021-12-15 19:19:35 +080083 source scripts/env.sh $LINE
Xiaohu.Huangb6ad9762022-02-11 17:49:09 +080084 [ "$?" -ne 0 ] && echo "Failed to source scripts/env.sh!" && exit 1
kelvin.zhang05852a72022-01-19 10:30:24 +080085 make distclean
Xiaohu.Huangb6ad9762022-02-11 17:49:09 +080086 [ "$?" -ne 0 ] && echo "Failed to make distclean!" && exit 2
bin.chene9875112022-01-18 15:00:50 +080087 make
Xiaohu.Huangb6ad9762022-02-11 17:49:09 +080088 [ "$?" -ne 0 ] && echo "Failed to make!" && exit 3
Xiaohu.Huang7dac8722022-01-18 16:21:29 +080089 if [[ "$SUBMIT_TYPE" == "daily" ]]; then
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080090 publish_firmware
Xiaohu.Huangb6ad9762022-02-11 17:49:09 +080091 [ "$?" -ne 0 ] && echo "Failed to source scripts/scp.sh!" && exit 4
bin.chen439b9342022-01-18 13:35:42 +080092 fi
Kelvin Zhang14bca5e2021-12-15 19:19:35 +080093done < "$BUILD_COMBINATION"
kelvin.zhangf59bf9a2022-02-16 10:41:47 +080094
95echo "Build completed!"