xref: /nrf52832-nimble/rt-thread/tools/auto-ci.py (revision 042d53a763ad75cb1465103098bb88c245d95138)
1import os
2import sys
3
4bsp_to_cpu = {
5    'bf533': 'unknown',
6    'dev3210': 'unknown',
7    'jz47xx': 'unknown',
8    'ls1bdev': 'unknown',
9    'm16c62p': 'unknown',
10    'microblaze': 'unknown',
11    'mini4020': 'unknown',
12    'nuc140': 'unknown',
13    'nios_ii': 'unknown',
14    'pic32ethernet': 'unknown',
15    'upd70f3454': 'unknown',
16    'wh44b0': 'unknown',
17    'xplorer4330': 'unknown',
18    'avr32uc3b0': 'avr',
19    'taihu': 'ppc',
20    'simulator': 'x86',
21    'x86': 'x86',
22    'at91sam9260': 'arm',
23    'efm32': 'arm',
24    'lm3s8962': 'arm',
25    'lm3s9b9x': 'arm',
26    'lm4f232': 'arm',
27    'lpc1114': 'arm',
28    'lpc122x': 'arm',
29    'lpc176x': 'arm',
30    'lpc178x': 'arm',
31    'lpc2148': 'arm',
32    'lpc2478': 'arm',
33    'mb9bf500r': 'arm',
34    'mb9bf506r': 'arm',
35    'mini2440': 'arm',
36    'sam7s': 'arm',
37    'sam7x': 'arm',
38    'stm32f0x': 'arm',
39    'stm32f107': 'arm',
40    'stm32f10x': 'arm',
41    'stm32f20x': 'arm',
42    'stm32f40x': 'arm',
43}
44
45results = {
46    'success': [],
47    'fail': [],
48    'ignore': []
49}
50
51fail = False
52
53BSP_ROOT = '../bsp'
54
55for bsp,cpu in bsp_to_cpu.iteritems():
56    project_dir = os.path.join(BSP_ROOT, bsp)
57    if os.getenv('RTT_CPU') == cpu and os.path.isfile(os.path.join(project_dir, 'SConstruct')):
58        if os.system('scons --directory=' + project_dir) != 0:
59            results['fail'].append(bsp)
60            fail = True
61        else:
62            results['success'].append(bsp)
63    else:
64        results['ignore'].append(bsp)
65
66for result,bsp_list in results.iteritems():
67    print "## {0}: {1}\n".format(result, len(bsp_list))
68    for bsp in bsp_list:
69        print "* " + bsp
70
71if fail:
72    sys.exit(1)
73else:
74    sys.exit(0)
75