Merge branch 'tools/support_multi_ci_files' into 'master'

tools(ci): Support multiple CI sdkconfig files

See merge request sdk/ESP8266_RTOS_SDK!1712
This commit is contained in:
Dong Heng
2025-04-18 14:09:34 +08:00
4 changed files with 129 additions and 82 deletions

View File

@ -0,0 +1 @@
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y

View File

@ -0,0 +1 @@
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y

View File

@ -118,14 +118,35 @@ build_example () {
local EXAMPLE_DIR=$(dirname "${MAKE_FILE}") local EXAMPLE_DIR=$(dirname "${MAKE_FILE}")
local EXAMPLE_NAME=$(basename "${EXAMPLE_DIR}") local EXAMPLE_NAME=$(basename "${EXAMPLE_DIR}")
local EXAMPLE_BUILD_DIR="${ID}_${EXAMPLE_NAME}" local EXAMPLE_BUILD_DIRS=()
# count number of CI sdkconfig files
SDKCONFIG_CI_FILES=$( find ${EXAMPLE_DIR}/ -type f -name sdkconfig.ci.* | sort )
if [[ -z ${SDKCONFIG_CI_FILES} ]]; then
EXAMPLE_BUILD_DIRS[0]="${ID}_${EXAMPLE_NAME}"
else
COUNT=0
for CI_FILE in ${SDKCONFIG_CI_FILES}
do
EXAMPLE_BUILD_DIRS[COUNT]="${ID}_${EXAMPLE_NAME}_${CI_FILE##*.}"
COUNT=$(( $COUNT + 1 ))
done
fi
for EXAMPLE_BUILD_DIR in ${EXAMPLE_BUILD_DIRS[*]}
do
if [[ -f "example_builds/${EXAMPLE_BUILD_DIR}/build/ci_build_success" ]]; then if [[ -f "example_builds/${EXAMPLE_BUILD_DIR}/build/ci_build_success" ]]; then
echo "Project ${EXAMPLE_BUILD_DIR} has been built and skip building ..." echo "Project ${EXAMPLE_BUILD_DIR} has been built and skip building ..."
else else
echo "Building ${EXAMPLE_BUILD_DIR}..." echo "Building ${EXAMPLE_BUILD_DIR}..."
mkdir -p "example_builds/${EXAMPLE_BUILD_DIR}" mkdir -p "example_builds/${EXAMPLE_BUILD_DIR}"
cp -r "${EXAMPLE_DIR}/"* "example_builds/${EXAMPLE_BUILD_DIR}/" cp -r "${EXAMPLE_DIR}/"* "example_builds/${EXAMPLE_BUILD_DIR}/"
if [[ -n ${SDKCONFIG_CI_FILES} ]]; then
cp "example_builds/${EXAMPLE_BUILD_DIR}/sdkconfig.ci.${EXAMPLE_BUILD_DIR##*_}" "example_builds/${EXAMPLE_BUILD_DIR}/sdkconfig.ci"
rm example_builds/${EXAMPLE_BUILD_DIR}/sdkconfig.ci.*
fi
pushd "example_builds/${EXAMPLE_BUILD_DIR}" pushd "example_builds/${EXAMPLE_BUILD_DIR}"
# be stricter in the CI build than the default IDF settings # be stricter in the CI build than the default IDF settings
export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations"
@ -165,6 +186,7 @@ build_example () {
grep -i "error\|warning" "${BUILDLOG}" 2>&1 >> "${LOG_SUSPECTED}" || : grep -i "error\|warning" "${BUILDLOG}" 2>&1 >> "${LOG_SUSPECTED}" || :
fi fi
done
} }
EXAMPLE_NUM=0 EXAMPLE_NUM=0

View File

@ -132,14 +132,36 @@ build_example () {
local EXAMPLE_DIR=$(dirname "${CMAKELISTS}") local EXAMPLE_DIR=$(dirname "${CMAKELISTS}")
local EXAMPLE_NAME=$(basename "${EXAMPLE_DIR}") local EXAMPLE_NAME=$(basename "${EXAMPLE_DIR}")
local EXAMPLE_BUILD_DIR="${ID}_${EXAMPLE_NAME}" local EXAMPLE_BUILD_DIRS=()
# count number of CI sdkconfig files
SDKCONFIG_CI_FILES=$( find ${EXAMPLE_DIR}/ -type f -name sdkconfig.ci.* | sort )
if [[ -z ${SDKCONFIG_CI_FILES} ]]; then
EXAMPLE_BUILD_DIRS[0]="${ID}_${EXAMPLE_NAME}"
else
COUNT=0
for CI_FILE in ${SDKCONFIG_CI_FILES}
do
echo "${COUNT} ${CI_FILE}"
EXAMPLE_BUILD_DIRS[COUNT]="${ID}_${EXAMPLE_NAME}_${CI_FILE##*.}"
COUNT=$(( $COUNT + 1 ))
done
fi
for EXAMPLE_BUILD_DIR in ${EXAMPLE_BUILD_DIRS[*]}
do
if [[ -f "example_builds/${EXAMPLE_BUILD_DIR}/build/ci_build_success" ]]; then if [[ -f "example_builds/${EXAMPLE_BUILD_DIR}/build/ci_build_success" ]]; then
echo "Project ${EXAMPLE_NAME} has been built and skip building ..." echo "Project ${EXAMPLE_BUILD_DIR} has been built and skip building ..."
else else
echo "Building ${EXAMPLE_BUILD_DIR}..." echo "Building ${EXAMPLE_BUILD_DIR}..."
mkdir -p "example_builds/${EXAMPLE_BUILD_DIR}" mkdir -p "example_builds/${EXAMPLE_BUILD_DIR}"
cp -r "${EXAMPLE_DIR}/"* "example_builds/${EXAMPLE_BUILD_DIR}" cp -r "${EXAMPLE_DIR}/"* "example_builds/${EXAMPLE_BUILD_DIR}/"
if [[ -n ${SDKCONFIG_CI_FILES} ]]; then
cp "example_builds/${EXAMPLE_BUILD_DIR}/sdkconfig.ci.${EXAMPLE_BUILD_DIR##*_}" "example_builds/${EXAMPLE_BUILD_DIR}/sdkconfig.ci"
rm example_builds/${EXAMPLE_BUILD_DIR}/sdkconfig.ci.*
fi
pushd "example_builds/${EXAMPLE_BUILD_DIR}" pushd "example_builds/${EXAMPLE_BUILD_DIR}"
# be stricter in the CI build than the default IDF settings # be stricter in the CI build than the default IDF settings
export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations"
@ -173,6 +195,7 @@ build_example () {
grep -i "error\|warning" "${BUILDLOG}" 2>&1 | grep -v "error.c.obj" >> "${LOG_SUSPECTED}" || : grep -i "error\|warning" "${BUILDLOG}" 2>&1 | grep -v "error.c.obj" >> "${LOG_SUSPECTED}" || :
fi fi
done
} }
EXAMPLE_NUM=0 EXAMPLE_NUM=0