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