Skip to content

Commit c2098ed

Browse files
committed
try to build all sketches with python script
1 parent 04876c7 commit c2098ed

File tree

2 files changed

+43
-3
lines changed

2 files changed

+43
-3
lines changed

.travis.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ install:
2323
- arduino --install-library "Adafruit NeoPixel","Adafruit SSD1306"
2424

2525
before_script:
26-
26+
- arduino --board adafruit:nrf52:feather52840:softdevice=s140v6,debug=l0 --save-prefs
2727

2828
script:
29-
- arduino --version
30-
#- build_nrf5x_platforms
29+
- python3 tools/build_all.py

tools/build_all.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import os
2+
import glob
3+
import sys
4+
import subprocess
5+
import time
6+
from pathlib import Path
7+
8+
home = str(Path.home())
9+
10+
exit_status = 0
11+
success_count = 0
12+
fail_count = 0
13+
14+
for sketch in glob.iglob('libraries/**/*.ino', recursive=True):
15+
start_time = time.monotonic()
16+
#build_result = subprocess.run("/home/hathach/Applications/arduino-1.8.9/arduino-builder -compile -hardware /home/hathach/Applications/arduino-1.8.9/hardware -hardware /home/hathach/.arduino15/packages -hardware /home/hathach/Arduino/hardware/ -tools /home/hathach/.arduino15/packages/adafruit/tools -tools /home/hathach/Applications/arduino-1.8.9/tools-builder -tools /home/hathach/.arduino15/packages -built-in-libraries /home/hathach/Applications/arduino-1.8.9/libraries -libraries /home/hathach/Arduino/libraries -fqbn=adafruit:nrf52:feather52840:softdevice=s140v6,debug=l0 -ide-version=10807 -warnings=none -prefs=build.warn_data_percentage=75 -verbose {}".format(sketch), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
17+
18+
build_result = subprocess.run("arduino --verify {}".format(sketch), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
19+
build_duration = time.monotonic() - start_time
20+
21+
if build_result.returncode != 0:
22+
exit_status = build_result.returncode
23+
success = "\033[31mfailed\033[0m"
24+
fail_count += 1
25+
else:
26+
success = "\033[32msucceeded\033[0m"
27+
success_count += 1
28+
29+
if travis:
30+
print('travis_fold:start:build-{}\\r'.format(sketch))
31+
32+
print("Build {} took {:.2f}s and {}".format(sketch, build_duration, success))
33+
if build_result.returncode != 0:
34+
print(build_result.stdout.decode("utf-8"))
35+
36+
if travis:
37+
print('travis_fold:end:build-{}\\r'.format(sketch))
38+
39+
40+
print("Build Sumamary: {} \033[32msucceeded\033[0m, {} \033[31mfailed\033[0m".format(success_count, fail_count))
41+
sys.exit(exit_status)

0 commit comments

Comments
 (0)