mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-19 21:42:25 +02:00
Also * removed IDFv4.1 from tests * added common build_apps.py utility for finding/building apps
61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
# SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
"""
|
|
This file is used in CI for esp-protocols build tests
|
|
"""
|
|
|
|
import argparse
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
from idf_build_apps import build_apps, find_apps, setup_logging
|
|
from idf_build_apps.constants import SUPPORTED_TARGETS
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser(
|
|
description='Build all projects',
|
|
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
|
)
|
|
parser.add_argument('paths', nargs='+', help='Paths to the apps to build.')
|
|
parser.add_argument(
|
|
'-t',
|
|
'--target',
|
|
default='all',
|
|
help='Build apps for given target',
|
|
)
|
|
args = parser.parse_args()
|
|
|
|
IDF_PATH = os.environ['IDF_PATH']
|
|
|
|
print(args.paths)
|
|
setup_logging(2)
|
|
apps = find_apps(
|
|
args.paths,
|
|
recursive=True,
|
|
target=args.target,
|
|
build_dir='build_@t_@w',
|
|
config_rules_str=[
|
|
'sdkconfig.ci=default', 'sdkconfig.ci.*=', '=default'
|
|
],
|
|
build_log_path='build_log.txt',
|
|
size_json_path='size.json',
|
|
check_warnings=True,
|
|
preserve=True,
|
|
manifest_files=[
|
|
str(p) for p in Path('.').glob('**/.build-test-rules.yml')
|
|
],
|
|
default_build_targets=SUPPORTED_TARGETS,
|
|
manifest_rootpath='.',
|
|
)
|
|
|
|
for app in apps:
|
|
print(app)
|
|
|
|
sys.exit(
|
|
build_apps(apps,
|
|
dry_run=False,
|
|
keep_going=False,
|
|
ignore_warning_strs=os.environ['EXPECTED_WARNING']
|
|
if 'EXPECTED_WARNING' in os.environ else None))
|