Kelvin Zhang | 14bca5e | 2021-12-15 19:19:35 +0800 | [diff] [blame] | 1 | #!/bin/bash |
yang.li | 0952092 | 2022-01-12 15:51:51 +0800 | [diff] [blame] | 2 | # |
yang.li | ffa60e5 | 2022-01-11 14:38:56 +0800 | [diff] [blame] | 3 | # Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved. |
yang.li | 0952092 | 2022-01-12 15:51:51 +0800 | [diff] [blame] | 4 | # |
yang.li | ffa60e5 | 2022-01-11 14:38:56 +0800 | [diff] [blame] | 5 | # SPDX-License-Identifier: MIT |
yang.li | 0952092 | 2022-01-12 15:51:51 +0800 | [diff] [blame] | 6 | # |
yang.li | ffa60e5 | 2022-01-11 14:38:56 +0800 | [diff] [blame] | 7 | |
Kelvin Zhang | 0978612 | 2022-02-11 15:56:08 +0800 | [diff] [blame] | 8 | # usage:./scripts/build_all.sh at rtos sdk root dir |
Kelvin Zhang | 14bca5e | 2021-12-15 19:19:35 +0800 | [diff] [blame] | 9 | |
Kelvin Zhang | 2307521 | 2022-02-11 18:26:18 +0800 | [diff] [blame] | 10 | LOCAL_DOC_PATH="$PWD/output/docs/html" |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 11 | REMOTE_DOC_PATH="ftp://platform:platform@10.68.11.163:2222/Documents/Ecosystem/RTOS/rtos-sdk/" |
Kelvin Zhang | 14bca5e | 2021-12-15 19:19:35 +0800 | [diff] [blame] | 12 | |
Kelvin Zhang | 0978612 | 2022-02-11 15:56:08 +0800 | [diff] [blame] | 13 | # Build and upload document |
Kelvin Zhang | 1fea914 | 2022-02-11 18:19:56 +0800 | [diff] [blame] | 14 | update_docoment() |
| 15 | { |
| 16 | find -type f | while read filename |
| 17 | do |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 18 | curl -s --ftp-create-dirs -T $filename $REMOTE_DOC_PATH/$filename |
Kelvin Zhang | 1fea914 | 2022-02-11 18:19:56 +0800 | [diff] [blame] | 19 | if [ $? -ne 0 ]; then |
| 20 | return 1; |
| 21 | fi |
| 22 | done |
| 23 | } |
| 24 | |
Kelvin Zhang | 0978612 | 2022-02-11 15:56:08 +0800 | [diff] [blame] | 25 | if [[ "$SUBMIT_TYPE" == "daily" ]]; then |
| 26 | make docs |
kelvin.zhang | 77dd544 | 2022-02-14 10:26:15 +0800 | [diff] [blame] | 27 | if [ -d $LOCAL_DOC_PATH ]; then |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 28 | pushd $LOCAL_DOC_PATH > /dev/null |
Kelvin Zhang | 2307521 | 2022-02-11 18:26:18 +0800 | [diff] [blame] | 29 | update_docoment |
| 30 | if [ $? -ne 0 ]; then |
| 31 | echo "Failed to update document" |
| 32 | else |
| 33 | echo "Document updated!" |
| 34 | fi |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 35 | popd > /dev/null |
Kelvin Zhang | 1fea914 | 2022-02-11 18:19:56 +0800 | [diff] [blame] | 36 | else |
Kelvin Zhang | 2307521 | 2022-02-11 18:26:18 +0800 | [diff] [blame] | 37 | echo "$LOCAL_DOC_PATH not exist!" |
Kelvin Zhang | 7f0d2e0 | 2022-02-14 10:16:35 +0800 | [diff] [blame] | 38 | fi |
Kelvin Zhang | 0978612 | 2022-02-11 15:56:08 +0800 | [diff] [blame] | 39 | fi |
| 40 | |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 41 | BUILD_DATE=`date +%F` |
| 42 | FIRMWARE_SERVER=firmware.amlogic.com |
| 43 | |
| 44 | publish_firmware() |
| 45 | { |
Kelvin Zhang | ce736e6 | 2022-03-02 14:17:40 +0800 | [diff] [blame] | 46 | LOCAL_FIRMWARE_PATH=output/$ARCH-$BOARD-$PRODUCT |
| 47 | REMOTE_FIRMWARE_PATH=/data/shanghai/image/RTOS/$BUILD_DATE/$ARCH-$BOARD-$PRODUCT |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 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.zhang | 2219b41 | 2022-03-04 16:44:41 +0800 | [diff] [blame] | 73 | # Manually cherry pick patches |
| 74 | ./scripts/cherry_pick.sh |
kelvin.zhang | 5fd2598 | 2022-03-04 09:43:01 +0800 | [diff] [blame] | 75 | |
Kelvin Zhang | 0f465a0 | 2022-02-11 15:39:54 +0800 | [diff] [blame] | 76 | # Build all projects |
kelvin.zhang | 0f3f684 | 2022-03-09 19:48:45 +0800 | [diff] [blame] | 77 | BUILD_COMBINATION="$PWD/build_system/build_combination.txt" |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 78 | |
Kelvin Zhang | 14bca5e | 2021-12-15 19:19:35 +0800 | [diff] [blame] | 79 | i=0 |
| 80 | while IFS= read -r LINE; do |
| 81 | [[ "$i" -ne 0 ]] && echo "" |
| 82 | i=$((i+1)) |
Kelvin Zhang | 14bca5e | 2021-12-15 19:19:35 +0800 | [diff] [blame] | 83 | source scripts/env.sh $LINE |
kelvin.zhang | b721785 | 2022-03-10 11:18:18 +0800 | [diff] [blame^] | 84 | [ "$?" -ne 0 ] && echo "Ignore unsupported combination!" && continue |
kelvin.zhang | 05852a7 | 2022-01-19 10:30:24 +0800 | [diff] [blame] | 85 | make distclean |
Xiaohu.Huang | b6ad976 | 2022-02-11 17:49:09 +0800 | [diff] [blame] | 86 | [ "$?" -ne 0 ] && echo "Failed to make distclean!" && exit 2 |
bin.chen | e987511 | 2022-01-18 15:00:50 +0800 | [diff] [blame] | 87 | make |
Xiaohu.Huang | b6ad976 | 2022-02-11 17:49:09 +0800 | [diff] [blame] | 88 | [ "$?" -ne 0 ] && echo "Failed to make!" && exit 3 |
Xiaohu.Huang | 7dac872 | 2022-01-18 16:21:29 +0800 | [diff] [blame] | 89 | if [[ "$SUBMIT_TYPE" == "daily" ]]; then |
Kelvin Zhang | 69dc9fb | 2022-02-18 16:44:04 +0800 | [diff] [blame] | 90 | publish_firmware |
Xiaohu.Huang | b6ad976 | 2022-02-11 17:49:09 +0800 | [diff] [blame] | 91 | [ "$?" -ne 0 ] && echo "Failed to source scripts/scp.sh!" && exit 4 |
bin.chen | 439b934 | 2022-01-18 13:35:42 +0800 | [diff] [blame] | 92 | fi |
Kelvin Zhang | 14bca5e | 2021-12-15 19:19:35 +0800 | [diff] [blame] | 93 | done < "$BUILD_COMBINATION" |
kelvin.zhang | f59bf9a | 2022-02-16 10:41:47 +0800 | [diff] [blame] | 94 | |
| 95 | echo "Build completed!" |