From: Ivan Grokhotkov Date: Mon, 10 Dec 2018 05:26:40 +0000 (+0800) Subject: ci, examples: use sdkconfig.ci as an extra defaults file, if present X-Git-Tag: v3.2-beta3~36^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=36f9091e0381a974175c6bef2343fca30445a6de;p=esp-idf ci, examples: use sdkconfig.ci as an extra defaults file, if present - Allows placing CI-specific settings into sdkconfig.ci file - Allows substituting environment variables in sdkconfig.ci --- diff --git a/examples/protocols/mqtt/tcp/sdkconfig b/examples/protocols/mqtt/tcp/sdkconfig deleted file mode 100644 index 8b13789179..0000000000 --- a/examples/protocols/mqtt/tcp/sdkconfig +++ /dev/null @@ -1 +0,0 @@ - diff --git a/examples/protocols/mqtt/tcp/sdkconfig.ci b/examples/protocols/mqtt/tcp/sdkconfig.ci new file mode 100644 index 0000000000..09ca8f37cc --- /dev/null +++ b/examples/protocols/mqtt/tcp/sdkconfig.ci @@ -0,0 +1,2 @@ +CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y +CONFIG_BROKER_URL="FROM_STDIN" diff --git a/examples/protocols/mqtt/tcp/sdkconfig.defaults b/examples/protocols/mqtt/tcp/sdkconfig.defaults deleted file mode 100644 index 51c8139137..0000000000 --- a/examples/protocols/mqtt/tcp/sdkconfig.defaults +++ /dev/null @@ -1,7 +0,0 @@ -CONFIG_BROKER_URL="FROM_STDIN" -CONFIG_LOG_DEFAULT_LEVEL_NONE= -CONFIG_LOG_DEFAULT_LEVEL_ERROR= -CONFIG_LOG_DEFAULT_LEVEL_WARN= -CONFIG_LOG_DEFAULT_LEVEL_INFO= -CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y -CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= diff --git a/tools/ci/build_examples.sh b/tools/ci/build_examples.sh index 2210a4b45f..8bd1e52dab 100755 --- a/tools/ci/build_examples.sh +++ b/tools/ci/build_examples.sh @@ -61,6 +61,7 @@ FAILED_EXAMPLES="" RESULT_ISSUES=22 # magic number result code for issues found LOG_SUSPECTED=${LOG_PATH}/common_log.txt touch ${LOG_SUSPECTED} +SDKCONFIG_DEFAULTS_CI=sdkconfig.ci if [ $# -eq 0 ] then @@ -117,6 +118,16 @@ build_example () { export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" export EXTRA_CXXFLAGS=${EXTRA_CFLAGS} + # sdkconfig files are normally not checked into git, but may be present when + # a developer runs this script locally + rm -f sdkconfig + + # If sdkconfig.ci file is present, append it to sdkconfig.defaults, + # replacing environment variables + if [[ -f "$SDKCONFIG_DEFAULTS_CI" ]]; then + cat $SDKCONFIG_DEFAULTS_CI | $IDF_PATH/tools/ci/envsubst.py >> sdkconfig.defaults + fi + # build non-verbose first local BUILDLOG=${LOG_PATH}/ex_${ID}_log.txt touch ${BUILDLOG} @@ -142,8 +153,8 @@ build_example () { EXAMPLE_NUM=0 -find ${IDF_PATH}/examples/ -type f -name Makefile | sort | \ -while read FN +EXAMPLE_PATHS=$( find ${IDF_PATH}/examples/ -type f -name Makefile | grep -v "/build_system/cmake/" | sort ) +for FN in ${EXAMPLE_PATHS} do if [[ $EXAMPLE_NUM -lt $START_NUM || $EXAMPLE_NUM -ge $END_NUM ]] then diff --git a/tools/ci/build_examples_cmake.sh b/tools/ci/build_examples_cmake.sh index 50ce7f1e61..7863232917 100755 --- a/tools/ci/build_examples_cmake.sh +++ b/tools/ci/build_examples_cmake.sh @@ -64,6 +64,7 @@ FAILED_EXAMPLES="" RESULT_ISSUES=22 # magic number result code for issues found LOG_SUSPECTED=${LOG_PATH}/common_log.txt touch ${LOG_SUSPECTED} +SDKCONFIG_DEFAULTS_CI=sdkconfig.ci EXAMPLE_PATHS=$( find ${IDF_PATH}/examples/ -type f -name CMakeLists.txt | grep -v "/components/" | grep -v "/main/" | sort ) @@ -122,6 +123,16 @@ build_example () { export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations" export EXTRA_CXXFLAGS=${EXTRA_CFLAGS} + # sdkconfig files are normally not checked into git, but may be present when + # a developer runs this script locally + rm -f sdkconfig + + # If sdkconfig.ci file is present, append it to sdkconfig.defaults, + # replacing environment variables + if [[ -f "$SDKCONFIG_DEFAULTS_CI" ]]; then + cat $SDKCONFIG_DEFAULTS_CI | $IDF_PATH/tools/ci/envsubst.py >> sdkconfig.defaults + fi + # build non-verbose first local BUILDLOG=${LOG_PATH}/ex_${ID}_log.txt touch ${BUILDLOG} diff --git a/tools/ci/executable-list.txt b/tools/ci/executable-list.txt index 729edc2cf4..cd71b6e69d 100644 --- a/tools/ci/executable-list.txt +++ b/tools/ci/executable-list.txt @@ -21,6 +21,7 @@ tools/ci/build_examples_cmake.sh tools/ci/check-executable.sh tools/ci/check-line-endings.sh tools/ci/checkout_project_ref.py +tools/ci/envsubst.py tools/ci/get-full-sources.sh tools/ci/mirror-submodule-update.sh tools/ci/mirror-synchronize.sh