33import sys
44import subprocess
55import time
6- from pathlib import Path
7-
8- home = str (Path .home ())
9-
10- exit_status = 0
116
127travis = False
138if "TRAVIS" in os .environ and os .environ ["TRAVIS" ] == "true" :
149 travis = True
1510
11+ exit_status = 0
1612success_count = 0
1713fail_count = 0
1814
19- print ("Setting board to Feather nRF52840" )
20- subprocess .run ("arduino --board adafruit:nrf52:feather52840:softdevice=s140v6,debug=l0 --save-prefs" , shell = True , stdout = subprocess .PIPE , stderr = subprocess .STDOUT )
15+ def build_examples (variant ):
16+ global exit_status , success_count , fail_count
17+ for sketch in glob .iglob ('libraries/**/*.ino' , recursive = True ):
18+ if ( os .path .exists ( os .path .dirname (sketch ) + '/.skip.' + variant ) ):
19+ print ("Build {} SKIP" .format (sketch ))
20+ continue
2121
22- for sketch in glob .iglob ('libraries/**/*.ino' , recursive = True ):
23- start_time = time .monotonic ()
24- build_result = subprocess .run ("arduino --verify {}" .format (sketch ), shell = True , stdout = subprocess .PIPE , stderr = subprocess .STDOUT )
25- build_duration = time .monotonic () - start_time
22+ start_time = time .monotonic ()
23+ build_result = subprocess .run ("arduino --verify {}" .format (sketch ), shell = True , stdout = subprocess .PIPE , stderr = subprocess .STDOUT )
24+ build_duration = time .monotonic () - start_time
2625
27- if build_result .returncode != 0 :
28- exit_status = build_result .returncode
29- success = "\033 [31mfailed\033 [0m"
30- fail_count += 1
31- else :
32- success = "\033 [32msucceeded\033 [0m"
33- success_count += 1
26+ if build_result .returncode != 0 :
27+ exit_status = build_result .returncode
28+ success = "\033 [31mfailed\033 [0m"
29+ fail_count += 1
30+ else :
31+ success = "\033 [32msucceeded\033 [0m"
32+ success_count += 1
3433
35- if travis :
36- print ('travis_fold:start:build-{}\\ r' .format (sketch ))
34+ if travis :
35+ print ('travis_fold:start:build-{}\\ r' .format (sketch ))
3736
38- print ("Build {} took {:.2f}s and {}" .format (sketch , build_duration , success ))
39- if build_result .returncode != 0 :
40- print (build_result .stdout .decode ("utf-8" ))
37+ print ("Build {} took {:.2f}s and {}" .format (sketch , build_duration , success ))
38+ if build_result .returncode != 0 :
39+ print (build_result .stdout .decode ("utf-8" ))
4140
42- if travis :
43- print ('travis_fold:end:build-{}\\ r' .format (sketch ))
41+ if travis :
42+ print ('travis_fold:end:build-{}\\ r' .format (sketch ))
4443
44+ build_time = time .monotonic ()
4545
46- print ("Build Sumamary: {} \033 [32msucceeded\033 [0m, {} \033 [31mfailed\033 [0m" .format (success_count , fail_count ))
47- sys .exit (exit_status )
46+ print ("-----------------------------" )
47+ print ("Set board to Feather nRF52840" )
48+ print ("-----------------------------" )
49+ subprocess .run ("arduino --board adafruit:nrf52:feather52840:softdevice=s140v6,debug=l0 --save-prefs" , shell = True , stdout = subprocess .PIPE , stderr = subprocess .STDOUT )
50+ build_examples ('feather52840' )
51+
52+ print ("-----------------------------" )
53+ print ("Set board to Feather nRF52832" )
54+ print ("-----------------------------" )
55+ subprocess .run ("arduino --board adafruit:nrf52:feather52832:softdevice=s132v6,debug=l0 --save-prefs" , shell = True , stdout = subprocess .PIPE , stderr = subprocess .STDOUT )
56+ build_examples ('feather52832' )
57+
58+ print ("--------------" )
59+ print ("Build Sumamary" )
60+ print ("--------------" )
61+ build_time = time .monotonic () - build_time
62+ print ("{} \033 [32msucceeded\033 [0m, {} \033 [31mfailed\033 [0m and took {:.2f}s" .format (success_count , fail_count , build_time ))
63+ sys .exit (exit_status )
0 commit comments