From dbc7063553f59390a7a17819495ff8efe20de64b Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Tue, 2 Jul 2024 10:25:41 +0200 Subject: [PATCH] fix(arduino-cli): support 1.x version Some data format have changed. Signed-off-by: Frederic Pillon --- CI/build/arduino-cli.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CI/build/arduino-cli.py b/CI/build/arduino-cli.py index d4ec5797bc..c6c1dca6d2 100644 --- a/CI/build/arduino-cli.py +++ b/CI/build/arduino-cli.py @@ -297,6 +297,9 @@ def check_config(): else: cli_config = json.loads(output) if cli_config is not None: + # Since arduino-cli 1.x new level "config" + if "config" in cli_config.keys(): + cli_config = cli_config["config"] if cli_config["directories"]["data"] is not None: sketches_path_list.append(Path(cli_config["directories"]["data"])) else: @@ -526,7 +529,11 @@ def find_board(): print(e.stdout.decode("utf-8")) quit(e.returncode) else: - fqbn_list_tmp = [board["fqbn"] for board in json.loads(output)] + boards = json.loads(output) + # Since arduino-cli 1.x new level "boards" and is a dict + if type(boards) is dict: + boards = boards["boards"] + fqbn_list_tmp = [board["fqbn"] for board in boards] if not len(fqbn_list_tmp): print(f"No boards found for {arduino_platform}") quit(1)