blob: da42800ce9e8ca0092347cd7c68ca262baf223ed [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 Zhangb56b9502022-09-01 15:18:43 +08008[ -z "$BUILD_LOG" ] && BUILD_LOG="output/build.log"
9# Clear build log
10cat <<EOF > $BUILD_LOG
11EOF
12
Kelvin Zhangdfd28382022-04-02 20:32:27 +080013source scripts/publish.sh
Kelvin Zhang14bca5e2021-12-15 19:19:35 +080014
Kelvin Zhangd64c8832022-04-02 19:56:24 +080015if [[ "$SUBMIT_TYPE" == "daily" ]] || [[ "$SUBMIT_TYPE" == "release" ]]; then
Kelvin Zhangb56b9502022-09-01 15:18:43 +080016echo "======== Building document ========" | tee $BUILD_LOG
Kelvin Zhangb56b9502022-09-01 15:18:43 +080017 make docs >> $BUILD_LOG 2>&1
kelvin.zhang77dd5442022-02-14 10:26:15 +080018 if [ -d $LOCAL_DOC_PATH ]; then
shijie.xiongbc5d3672022-04-01 17:52:16 +080019 pushd $LOCAL_DOC_PATH >/dev/null
Kelvin Zhangd64c8832022-04-02 19:56:24 +080020 publish_docoment
Kelvin Zhang23075212022-02-11 18:26:18 +080021 if [ $? -ne 0 ]; then
Kelvin Zhangb56b9502022-09-01 15:18:43 +080022 echo "Failed to update document!"
Kelvin Zhang23075212022-02-11 18:26:18 +080023 else
Kelvin Zhangb56b9502022-09-01 15:18:43 +080024 echo "Document updated."
Kelvin Zhang23075212022-02-11 18:26:18 +080025 fi
shijie.xiongbc5d3672022-04-01 17:52:16 +080026 popd >/dev/null
Kelvin Zhang1fea9142022-02-11 18:19:56 +080027 else
Kelvin Zhang23075212022-02-11 18:26:18 +080028 echo "$LOCAL_DOC_PATH not exist!"
Kelvin Zhang7f0d2e02022-02-14 10:16:35 +080029 fi
Kelvin Zhangb56b9502022-09-01 15:18:43 +080030echo -e "======== Done ========\n" | tee $BUILD_LOG
Kelvin Zhang09786122022-02-11 15:56:08 +080031fi
32
Kelvin Zhangb56b9502022-09-01 15:18:43 +080033echo "======== Building all projects ========" | tee $BUILD_LOG
Kelvin Zhang69dc9fb2022-02-18 16:44:04 +080034
Kelvin Zhangb56b9502022-09-01 15:18:43 +080035source scripts/gen_build_combination.sh
Kelvin Zhangd91e47e2022-08-31 20:44:20 +080036
37nr=0
Kelvin Zhang14bca5e2021-12-15 19:19:35 +080038while IFS= read -r LINE; do
Kelvin Zhangd91e47e2022-08-31 20:44:20 +080039 nr=$((nr+1))
Kelvin Zhangc18bac62022-03-14 10:31:57 +080040
41 check_project "$LINE"
42 [ "$?" -ne 0 ] && continue
Kelvin Zhangd91e47e2022-08-31 20:44:20 +080043 source scripts/env.sh $LINE >> $BUILD_LOG 2>&1
44 [ "$?" -ne 0 ] && echo "Ignore unsupported combination! $LINE" && continue
kelvin.zhang05852a72022-01-19 10:30:24 +080045 make distclean
Kelvin Zhangd91e47e2022-08-31 20:44:20 +080046 [ "$?" -ne 0 ] && echo "Failed to make distclean! $LINE" && exit 2
47 echo -n "$nr. Building $LINE ... "
48 make >> $BUILD_LOG 2>&1
Kelvin Zhang6305ae32022-09-06 17:55:51 +080049 [ "$?" -ne 0 ] && echo "failed!" && cat $BUILD_LOG && echo -e "\nAborted with errors!\n" && exit 3
Kelvin Zhangb56b9502022-09-01 15:18:43 +080050 grep -qr "warning: " $BUILD_LOG
Kelvin Zhang6305ae32022-09-06 17:55:51 +080051 [ "$?" -eq 0 ] && cat $BUILD_LOG && echo -e "\nAborted with warnings!\n" && exit 1
Kelvin Zhangb56b9502022-09-01 15:18:43 +080052 echo "OK."
Xiaohu.Huang7dac8722022-01-18 16:21:29 +080053 if [[ "$SUBMIT_TYPE" == "daily" ]]; then
Kelvin Zhangb56b9502022-09-01 15:18:43 +080054 if [[ "$ARCH" == "arm64" ]] && [[ "$PRODUCT" == "speaker" ]]; then
Kelvin Zhangd91e47e2022-08-31 20:44:20 +080055 make_image >> $BUILD_LOG 2>&1
56 fi
57 publish_images >> $BUILD_LOG 2>&1
Kelvin Zhangaa84d882022-04-22 13:38:46 +080058 [ "$?" -ne 0 ] && echo "Failed to publish images!" && exit 4
bin.chen439b9342022-01-18 13:35:42 +080059 fi
shijie.xiongbc5d3672022-04-01 17:52:16 +080060done <"$BUILD_COMBINATION"
61
Kelvin Zhangb56b9502022-09-01 15:18:43 +080062[[ "$SUBMIT_TYPE" == "daily" ]] && post_publish_images >> $BUILD_LOG 2>&1
63
64echo -e "======== Done ========\n" | tee $BUILD_LOG