|
40 | 40 | for file in os.listdir(_DEVICE_FOLDER) if file.endswith(".zap") and file != 'template.zap']
|
41 | 41 | _CICD_CONFIG_FILE_NAME = os.path.join(_CHEF_SCRIPT_PATH, "cicd_config.json")
|
42 | 42 | _CD_STAGING_DIR = os.path.join(_CHEF_SCRIPT_PATH, "staging")
|
| 43 | +_EXCLUDE_DEVICE_FROM_LINUX_CI = [ # These do not compile / deprecated. |
| 44 | + "noip_rootnode_dimmablelight_bCwGYSDpoe", |
| 45 | + "rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680", |
| 46 | +] |
43 | 47 |
|
44 | 48 | gen_dir = "" # Filled in after sample app type is read from args.
|
45 | 49 |
|
@@ -382,6 +386,10 @@ def main() -> int:
|
382 | 386 | help=("Builds Chef examples defined in cicd_config. "
|
383 | 387 | "Uses specified target from -t. Chef exits after completion."),
|
384 | 388 | dest="ci", action="store_true")
|
| 389 | + parser.add_option("", "--ci_linux", |
| 390 | + help=("Builds Chef Examples defined in cicd_config under ci_allow_list_linux. " |
| 391 | + "Devices are built without -c for faster compilation."), |
| 392 | + dest="ci_linux", action="store_true") |
385 | 393 | parser.add_option(
|
386 | 394 | "", "--enable_ipv4", help="Enable IPv4 mDNS. Only applicable to platforms that can support IPV4 (e.g, Linux, ESP32)",
|
387 | 395 | action="store_true", default=False)
|
@@ -409,6 +417,21 @@ def main() -> int:
|
409 | 417 | bundle(options.build_target, device_name)
|
410 | 418 | exit(0)
|
411 | 419 |
|
| 420 | + # |
| 421 | + # CI Linux |
| 422 | + # |
| 423 | + |
| 424 | + if options.ci_linux: |
| 425 | + for device_name in _DEVICE_LIST: |
| 426 | + if device_name in _EXCLUDE_DEVICE_FROM_LINUX_CI: |
| 427 | + continue |
| 428 | + shell.run_cmd(f"cd {_CHEF_SCRIPT_PATH}") |
| 429 | + command = f"./chef.py -br -d {device_name} -t linux" |
| 430 | + flush_print(f"Building {command}", with_border=True) |
| 431 | + shell.run_cmd(command) |
| 432 | + bundle("linux", device_name) |
| 433 | + exit(0) |
| 434 | + |
412 | 435 | #
|
413 | 436 | # CD
|
414 | 437 | #
|
|
0 commit comments