kopia lustrzana https://github.com/meshtastic/firmware
generate dynamic device array for use in CI scripts
Usage: generate_ci_matrix.py platform [extra] e.g. generate_ci_matrix.py esp32 or generate_ci_matrix.py esp32 extrapull/2430/head
rodzic
eeeb7c5080
commit
0afeba0c86
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
"""Generate the CI matrix"""
|
||||
|
||||
import os, sys, configparser, json
|
||||
|
||||
rootdir = 'variants/'
|
||||
|
||||
options = sys.argv[1:]
|
||||
|
||||
outlist=[]
|
||||
|
||||
if len(options) < 1:
|
||||
print(json.dumps(outlist))
|
||||
exit()
|
||||
|
||||
for subdir, dirs, files in os.walk(rootdir):
|
||||
for file in files:
|
||||
if file == 'platformio.ini':
|
||||
config = configparser.ConfigParser()
|
||||
config.read(subdir + '/' + file)
|
||||
for c in config.sections():
|
||||
if c.startswith('env:'):
|
||||
section = config[c].name[4:]
|
||||
if 'extends' in config[config[c].name]:
|
||||
if config[config[c].name]['extends'] == options[0] + '_base':
|
||||
if 'board_level' in config[config[c].name]:
|
||||
if ((config[config[c].name]['board_level'] == 'extra') & ('extra' in options)):
|
||||
outlist.append(section)
|
||||
else:
|
||||
outlist.append(section)
|
||||
|
||||
print(json.dumps(outlist))
|
Ładowanie…
Reference in New Issue