OVMS3-idf/tools/ci
Ivan Grokhotkov 5d03ae7428 tools: add {find,build}_apps.py, scripts to build multiple apps
This commit adds a pair of scripts, find_apps.py and build_apps.py.
These scripts are intended to be used in various CI jobs, building
multiple applications with different configurations and targets.

The first script, find_apps.py, is used to prepare the list of builds:
1. It finds apps for the given build system.
2. For each app, it finds configurations (sdkconfig files) which need
   to be built.
3. It filters out the apps and configurations which are not compatible
   with the given target.
4. It outputs the list of builds into stdout or a file. Currently the
   format is a list of lines, each line a JSON string. In the future,
   the tool can be updated to output YAML files.

The lists of builds can be concatenated and processed with standard
command line tools, like sed.

The second script, build_apps.py, executes the builds from the list.
It can execute a subset of builds based on --parallel-count and
--parallel-index arguments.

These two scripts are intended to replace build_examples_make,
build_examples_cmake, and the custom unit-test-app logic (in the
Makefile and idf_ext.py).

Closes IDF-641
2019-12-11 15:57:49 +11:00
..
config esp_flash: add unit test for external flash and QE toggling 2019-11-21 12:26:15 +08:00
apply_bot_filter.py tools: Fix the Python coding style 2018-12-19 11:56:24 +01:00
build_example_dirs.txt ci: support building examples with external components 2018-11-19 12:36:31 +08:00
build_examples.sh CI: use parallel attribute in CI config file 2019-07-03 16:53:34 +08:00
build_examples_cmake.sh ci: multichip build support for examples 2019-07-05 17:06:25 +08:00
check-executable.sh ci: keep executables list formatted 2019-05-24 17:04:23 +08:00
check-line-endings.sh ci: Add line endings check for CRLF in repository 2018-07-12 19:10:37 +08:00
check_artifacts_expire_time.py Fix Python 3 compatibility issues 2018-10-24 11:20:54 +02:00
check_deprecated_kconfigs.py Handle deprecated values in sdkconfig.defaults 2019-10-03 10:13:42 +02:00
check_examples_cmake_make.sh ci: don’t look for project CMakeLists in common_components 2019-04-15 03:32:05 +00:00
check_idf_version.sh esp_common: add version definitions in code and build system 2019-05-20 13:14:56 +08:00
check_ut_cmake_make.sh cmake: Add support for test build 2018-10-20 12:07:24 +08:00
checkout_project_ref.py tools: fix exception in checkout ref script: 2019-07-04 16:31:35 +08:00
configure_ci_environment.sh ci: Remove unused IS_PRIVATE and IS_PUBLIC environment 2019-06-25 22:24:45 +07:00
envsubst.py mqtt tests: connect to local broker when running in CI to make the tests more reliable 2019-01-11 15:30:15 +01:00
executable-list.txt tools: add {find,build}_apps.py, scripts to build multiple apps 2019-12-11 15:57:49 +11:00
get-full-sources.sh tools: Keep script behaviour 2019-06-28 10:05:31 +07:00
get_supported_examples.sh ci: multichip build support for examples 2019-07-05 17:06:25 +08:00
mirror-submodule-update.sh tools: Keep script behaviour 2019-06-28 10:05:31 +07:00
multirun_with_pyenv.sh CI: Simplify running commands with several versions of Python 2018-09-06 11:50:17 +02:00
push_to_github.sh ci: Fix spurious pipeline failure when deploying a tag to GitHub 2018-08-22 13:11:18 +10:00
setup_python.sh nvs_util: Fix to support write of multiple singlepage big blob data 2019-03-20 08:15:36 +00:00
static-analysis-rules.yml ci: add clang static analysis jobs 2019-06-14 20:24:36 +02:00
test_build_system.sh Handle deprecated values in sdkconfig.defaults 2019-10-03 10:13:42 +02:00
test_build_system_cmake.sh cmake: support git worktree 2019-11-11 18:09:15 +08:00
test_configure_ci_environment.sh ci: Remove unused IS_PRIVATE and IS_PUBLIC environment 2019-06-25 22:24:45 +07:00