|
11 | 11 | if "TRAVIS" in os.environ and os.environ["TRAVIS"] == "true":
|
12 | 12 | travis = True
|
13 | 13 |
|
| 14 | +success_count = 0 |
| 15 | +fail_count = 0 |
14 | 16 | exit_status = 0
|
15 | 17 |
|
| 18 | +build_format = '| {:30} | {:9} ' |
| 19 | +build_separator = '-' * 54 |
| 20 | + |
16 | 21 | all_boards = []
|
17 | 22 | for entry in os.scandir("src/boards"):
|
18 | 23 | all_boards.append(entry.name)
|
|
21 | 26 |
|
22 | 27 | total_time = time.monotonic()
|
23 | 28 |
|
| 29 | +print(build_separator) |
| 30 | +print((build_format + '| {:5} |').format('Board', 'Result', 'Time')) |
| 31 | +print(build_separator) |
| 32 | + |
24 | 33 | for board in all_boards:
|
25 | 34 | bin_directory = "bin/{}/".format(board)
|
26 | 35 | os.makedirs(bin_directory, exist_ok=True)
|
27 | 36 |
|
28 | 37 | start_time = time.monotonic()
|
29 | 38 | make_result = subprocess.run("make -j 4 BOARD={} combinehex genpkg".format(board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
30 | 39 | build_duration = time.monotonic() - start_time
|
31 |
| - success = "\033[32msucceeded\033[0m" |
32 |
| - if make_result.returncode != 0: |
| 40 | + |
| 41 | + if make_result.returncode == 0: |
| 42 | + success = "\033[32msucceeded\033[0m" |
| 43 | + success_count += 1 |
| 44 | + else: |
33 | 45 | exit_status = make_result.returncode
|
34 |
| - success = "\033[31mfailed\033[0m" |
| 46 | + success = "\033[31mfailed\033[0m " |
| 47 | + fail_count += 1 |
35 | 48 |
|
36 | 49 | for entry in os.scandir("_build-{}".format(board)):
|
37 | 50 | for extension in ["zip", "hex"]:
|
|
40 | 53 |
|
41 | 54 | if travis:
|
42 | 55 | print('travis_fold:start:build-{}\\r'.format(board))
|
43 |
| - print("Build {} took {:.2f}s and {}".format(board, build_duration, success)) |
| 56 | + |
| 57 | + print((build_format + '| {:.2f}s |').format(board, success, build_duration)) |
| 58 | + |
44 | 59 | if make_result.returncode != 0:
|
45 | 60 | print(make_result.stdout.decode("utf-8"))
|
46 | 61 | if travis:
|
47 | 62 | print('travis_fold:end:build-{}\\r'.format(board))
|
48 | 63 |
|
49 |
| - print() |
50 |
| - |
| 64 | +# Build Summary |
51 | 65 | total_time = time.monotonic() - total_time
|
52 |
| -print("Total build time took {:.2f}s".format(total_time)) |
| 66 | +print(build_separator) |
| 67 | +print("Build Sumamary: {} \033[32msucceeded\033[0m, {} \033[31mfailed\033[0m and took {:.2f}s".format(success_count, fail_count, total_time)) |
| 68 | +print(build_separator) |
53 | 69 |
|
54 | 70 | sys.exit(exit_status)
|
0 commit comments