build most of adafruit samd boards
This commit is contained in:
parent
9d9b509084
commit
c53c44331e
4 changed files with 17 additions and 17 deletions
3
.github/workflows/githubci.yml
vendored
3
.github/workflows/githubci.yml
vendored
|
|
@ -7,7 +7,8 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
arduino-platform: ['metro_m0', 'metro_m4']
|
||||
arduino-platform: ['metro_m0', 'hallowing', 'circuitplayground_m0',
|
||||
'metro_m4', 'pybadge_m4', 'pygamer_m4', 'hallowing_m4', 'monster_m4sk', 'pyportal_m4', 'pyportal_titano']
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
|
|
|||
|
|
@ -8,23 +8,20 @@ all_warnings = False
|
|||
exit_status = 0
|
||||
success_count = 0
|
||||
fail_count = 0
|
||||
skip_count = 0
|
||||
|
||||
build_format = '| {:22} | {:30} | {:9} '
|
||||
build_separator = '-' * 80
|
||||
|
||||
all_boards = [ 'metro_m0', 'metro_m4' ]
|
||||
default_boards = [ 'metro_m0', 'metro_m4', 'circuitplayground_m0']
|
||||
|
||||
build_boards = []
|
||||
|
||||
# build all variants if input not existed
|
||||
if len(sys.argv) > 1:
|
||||
if (sys.argv[1] in all_boards):
|
||||
build_boards.append(sys.argv[1])
|
||||
else:
|
||||
print('\033[31INTERNAL ERR\033[0m - invalid variant name "{}"'.format(sys.argv[1]))
|
||||
sys.exit(-1)
|
||||
build_boards.append(sys.argv[1])
|
||||
else:
|
||||
build_boards = all_boards
|
||||
build_boards = default_boards
|
||||
|
||||
def errorOutputFilter(line):
|
||||
if len(line) == 0:
|
||||
|
|
@ -36,7 +33,7 @@ def errorOutputFilter(line):
|
|||
|
||||
|
||||
def build_examples(variant):
|
||||
global exit_status, success_count, fail_count, build_format, build_separator
|
||||
global exit_status, success_count, fail_count, skip_count, build_format, build_separator
|
||||
|
||||
print('\n')
|
||||
print(build_separator)
|
||||
|
|
@ -50,12 +47,13 @@ def build_examples(variant):
|
|||
for sketch in glob.iglob('libraries/**/*.ino', recursive=True):
|
||||
start_time = time.monotonic()
|
||||
|
||||
# skip if example contains: ".skip" or ".skip.variant"
|
||||
# however ".build.variant" file can overwrite ".skip", used to build a specific variant only
|
||||
# Skip if contains: ".board.test.skip" or ".all.test.skip"
|
||||
# Skip if not contains: ".board.test.only" for a specific board
|
||||
sketchdir = os.path.dirname(sketch)
|
||||
if ( (os.path.exists(sketchdir + '/.skip') or os.path.exists(sketchdir + '/.skip.' + variant)) and
|
||||
not os.path.exists(sketchdir + '/.build.' + variant)):
|
||||
success = "skipped"
|
||||
if os.path.exists(sketchdir + '/.all.test.skip') or os.path.exists(sketchdir + '/.' + variant + '.test.skip'):
|
||||
success = "\033[33mskipped\033[0m "
|
||||
elif glob.glob(sketchdir+"/.*.test.only") and not os.path.exists(sketchdir + '/.build.' + variant):
|
||||
success = "\033[33mskipped\033[0m "
|
||||
else:
|
||||
# TODO - preferably, would have STDERR show up in **both** STDOUT and STDERR.
|
||||
# preferably, would use Python logging handler to get both distinct outputs and one merged output
|
||||
|
|
@ -87,7 +85,7 @@ def build_examples(variant):
|
|||
|
||||
print((build_format + '| {:5.2f}s |').format(sketch.split(os.path.sep)[1], os.path.basename(sketch), success, build_duration))
|
||||
|
||||
if success != "skipped":
|
||||
if success != "\033[33mskipped\033[0m ":
|
||||
if build_result.returncode != 0:
|
||||
print(build_result.stdout.decode("utf-8"))
|
||||
if (build_result.stderr):
|
||||
|
|
@ -95,7 +93,8 @@ def build_examples(variant):
|
|||
if len(warningLines) != 0:
|
||||
for line in warningLines:
|
||||
print(line)
|
||||
|
||||
else:
|
||||
skip_count += 1
|
||||
|
||||
build_time = time.monotonic()
|
||||
|
||||
|
|
@ -104,7 +103,7 @@ for board in build_boards:
|
|||
|
||||
print(build_separator)
|
||||
build_time = time.monotonic() - build_time
|
||||
print("Build Summary: {} \033[32msucceeded\033[0m, {} \033[31mfailed\033[0m and took {:.2f}s".format(success_count, fail_count, build_time))
|
||||
print("Build Summary: {} \033[32msucceeded\033[0m, {} \033[31mfailed\033[0m, {} \033[33mskipped\033[0m and took {:.2f}s".format(success_count, fail_count, skip_count, build_time))
|
||||
print(build_separator)
|
||||
|
||||
sys.exit(exit_status)
|
||||
|
|
|
|||
0
libraries/SDU/examples/Usage/.metro_m0.test.only
Normal file
0
libraries/SDU/examples/Usage/.metro_m0.test.only
Normal file
0
libraries/SDU/extras/SDUBoot/.metro_m0.test.only
Normal file
0
libraries/SDU/extras/SDUBoot/.metro_m0.test.only
Normal file
Loading…
Reference in a new issue