From 5b6488ca70ba19dc6cca5c8be11dfcb1858607e9 Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 25 Sep 2019 12:54:26 +0700 Subject: [PATCH] update build script --- tools/build_all.py | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/tools/build_all.py b/tools/build_all.py index 2c75588..8dd3680 100644 --- a/tools/build_all.py +++ b/tools/build_all.py @@ -11,8 +11,13 @@ travis = False if "TRAVIS" in os.environ and os.environ["TRAVIS"] == "true": travis = True +success_count = 0 +fail_count = 0 exit_status = 0 +build_format = '| {:30} | {:9} ' +build_separator = '-' * 54 + all_boards = [] for entry in os.scandir("src/boards"): all_boards.append(entry.name) @@ -21,6 +26,10 @@ for entry in os.scandir("src/boards"): total_time = time.monotonic() +print(build_separator) +print((build_format + '| {:5} |').format('Board', 'Result', 'Time')) +print(build_separator) + for board in all_boards: bin_directory = "bin/{}/".format(board) os.makedirs(bin_directory, exist_ok=True) @@ -28,10 +37,14 @@ for board in all_boards: start_time = time.monotonic() make_result = subprocess.run("make -j 4 BOARD={} combinehex genpkg".format(board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) build_duration = time.monotonic() - start_time - success = "\033[32msucceeded\033[0m" - if make_result.returncode != 0: + + if make_result.returncode == 0: + success = "\033[32msucceeded\033[0m" + success_count += 1 + else: exit_status = make_result.returncode - success = "\033[31mfailed\033[0m" + success = "\033[31mfailed\033[0m " + fail_count += 1 for entry in os.scandir("_build-{}".format(board)): for extension in ["zip", "hex"]: @@ -40,15 +53,18 @@ for board in all_boards: if travis: print('travis_fold:start:build-{}\\r'.format(board)) - print("Build {} took {:.2f}s and {}".format(board, build_duration, success)) + + print((build_format + '| {:.2f}s |').format(board, success, build_duration)) + if make_result.returncode != 0: print(make_result.stdout.decode("utf-8")) if travis: print('travis_fold:end:build-{}\\r'.format(board)) - print() - +# Build Summary total_time = time.monotonic() - total_time -print("Total build time took {:.2f}s".format(total_time)) +print(build_separator) +print("Build Sumamary: {} \033[32msucceeded\033[0m, {} \033[31mfailed\033[0m and took {:.2f}s".format(success_count, fail_count, total_time)) +print(build_separator) sys.exit(exit_status)