mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-01 10:19:59 +00:00
0afeba0c86
Usage: generate_ci_matrix.py platform [extra] e.g. generate_ci_matrix.py esp32 or generate_ci_matrix.py esp32 extra
33 lines
1.0 KiB
Python
Executable File
33 lines
1.0 KiB
Python
Executable File
#!/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)) |