Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510
build_travis.py
00001 #!/usr/bin/env python2 00002 00003 """ 00004 Travis-CI build script 00005 00006 mbed SDK 00007 Copyright (c) 2011-2013 ARM Limited 00008 00009 Licensed under the Apache License, Version 2.0 (the "License"); 00010 you may not use this file except in compliance with the License. 00011 You may obtain a copy of the License at 00012 00013 http://www.apache.org/licenses/LICENSE-2.0 00014 00015 Unless required by applicable law or agreed to in writing, software 00016 distributed under the License is distributed on an "AS IS" BASIS, 00017 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00018 See the License for the specific language governing permissions and 00019 limitations under the License. 00020 """ 00021 00022 import os 00023 import sys 00024 00025 ################################################################################ 00026 # Configure builds here 00027 # "libs" can contain "dsp", "rtos", "eth", "usb_host", "usb", "ublox", "fat" 00028 00029 build_list = ( 00030 { "target": "LPC1768", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "eth", "usb_host", "usb", "ublox", "fat"] }, 00031 { "target": "LPC2368", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00032 { "target": "LPC2460", "toolchains": "GCC_ARM", "libs": ["rtos", "usb_host", "usb", "fat"] }, 00033 { "target": "LPC11U24", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00034 { "target": "OC_MBUINO", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00035 00036 { "target": "LPC11U24_301", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00037 00038 { "target": "B96B_F446VE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00039 { "target": "NUCLEO_L053R8", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00040 { "target": "NUCLEO_L152RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00041 { "target": "NUCLEO_F030R8", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00042 { "target": "NUCLEO_F031K6", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00043 { "target": "NUCLEO_F042K6", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00044 { "target": "NUCLEO_F070RB", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00045 { "target": "NUCLEO_F072RB", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00046 { "target": "NUCLEO_F091RC", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00047 { "target": "NUCLEO_F103RB", "toolchains": "GCC_ARM", "libs": ["rtos", "fat"] }, 00048 { "target": "NUCLEO_F207ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host"] }, 00049 { "target": "NUCLEO_F302R8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00050 { "target": "NUCLEO_F303K8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00051 { "target": "NUCLEO_F303RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00052 { "target": "NUCLEO_F303ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00053 { "target": "NUCLEO_F334R8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00054 { "target": "NUCLEO_F401RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host"] }, 00055 { "target": "NUCLEO_F410RB", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00056 { "target": "NUCLEO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host"] }, 00057 { "target": "NUCLEO_F412ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00058 { "target": "NUCLEO_L432KC", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00059 { "target": "NUCLEO_L476RG", "toolchains": "GCC_ARM", "libs": ["dsp", "fat", "rtos", "usb_host"] }, 00060 { "target": "NUCLEO_L011K4", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00061 { "target": "NUCLEO_L031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00062 { "target": "NUCLEO_L073RZ", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00063 { "target": "NUCLEO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host"] }, 00064 { "target": "NUCLEO_F446RE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00065 { "target": "NUCLEO_F446ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host"] }, 00066 { "target": "NUCLEO_F746ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host" ] }, 00067 { "target": "NUCLEO_F767ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host"] }, 00068 00069 { "target": "MOTE_L152RC", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00070 00071 { "target": "ELMO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00072 00073 { "target": "MTS_MDOT_F405RG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos"] }, 00074 { "target": "MTS_MDOT_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos"] }, 00075 { "target": "MTS_DRAGONFLY_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00076 { "target": "ARCH_MAX", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00077 00078 { "target": "DISCO_F051R8", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00079 { "target": "DISCO_F303VC", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00080 { "target": "DISCO_F334C8", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00081 { "target": "DISCO_F401VC", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00082 { "target": "DISCO_F407VG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00083 { "target": "DISCO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat", "usb_host"] }, 00084 { "target": "DISCO_F469NI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00085 { "target": "DISCO_F746NG", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00086 { "target": "DISCO_F769NI", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00087 00088 { "target": "LPC1114", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00089 { "target": "LPC11U35_401", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00090 { "target": "UBLOX_C027", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00091 { "target": "LPC11U35_501", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00092 { "target": "LPC11U68", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00093 { "target": "LPC11U37H_401", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00094 00095 { "target": "KL05Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00096 { "target": "KL25Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00097 { "target": "KL27Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00098 { "target": "KL43Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00099 { "target": "KL46Z", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00100 { "target": "K20D50M", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00101 { "target": "TEENSY3_1", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00102 { "target": "K64F", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00103 { "target": "K22F", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00104 { "target": "LPC4088", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00105 { "target": "ARCH_PRO", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00106 { "target": "LPC1549", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00107 { "target": "NRF51822", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00108 { "target": "DELTA_DFCM_NNN40", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00109 { "target": "NRF51_DK", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00110 { "target": "NRF51_MICROBIT", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "fat"] }, 00111 00112 { "target": "EFM32ZG_STK3200", "toolchains": "GCC_ARM", "libs": ["dsp"] }, 00113 { "target": "EFM32HG_STK3400", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00114 { "target": "EFM32LG_STK3600", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00115 { "target": "EFM32GG_STK3700", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00116 { "target": "EFM32WG_STK3800", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb"] }, 00117 { "target": "EFM32PG_STK3401", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos"] }, 00118 00119 { "target": "MAXWSNENV", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00120 { "target": "MAX32600MBED", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00121 { "target": "MAX32620HSP", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00122 00123 { "target": "RZ_A1H", "toolchains": "GCC_ARM", "libs": ["fat"] }, 00124 00125 { "target": "SAMR21G18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00126 { "target": "SAMD21J18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00127 { "target": "SAMD21G18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00128 { "target": "SAML21J18A", "toolchains": "GCC_ARM", "libs": ["dsp", "fat"] }, 00129 { "target": "DISCO_L476VG", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat", "usb_host"] }, 00130 00131 { "target": "NUMAKER_PFM_NUC472", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00132 { "target": "NUMAKER_PFM_M453", "toolchains": "GCC_ARM", "libs": ["dsp", "rtos", "usb", "fat"] }, 00133 ) 00134 00135 ################################################################################ 00136 # Configure example test building (linking against external mbed SDK libraries liek fat or rtos) 00137 00138 linking_list = [ 00139 {"target": "LPC1768", 00140 "toolchains": "GCC_ARM", 00141 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_15", "MBED_16", "MBED_17"], 00142 "eth" : ["NET_1", "NET_2", "NET_3", "NET_4"], 00143 "fat" : ["MBED_A12", "MBED_19", "PERF_1", "PERF_2", "PERF_3"], 00144 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00145 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00146 } 00147 }, 00148 {"target": "K64F", 00149 "toolchains": "GCC_ARM", 00150 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00151 "fat" : ["MBED_A12", "PERF_1", "PERF_2", "PERF_3"], 00152 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00153 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00154 } 00155 }, 00156 {"target": "K22F", 00157 "toolchains": "GCC_ARM", 00158 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00159 "fat" : ["MBED_A12", "PERF_1", "PERF_2", "PERF_3"], 00160 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00161 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00162 } 00163 }, 00164 {"target": "KL43Z", 00165 "toolchains": "GCC_ARM", 00166 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00167 "fat" : ["MBED_A12", "PERF_1", "PERF_2", "PERF_3"], 00168 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00169 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00170 } 00171 }, 00172 {"target": "NUCLEO_F446ZE", 00173 "toolchains": "GCC_ARM", 00174 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00175 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00176 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00177 } 00178 }, 00179 {"target": "NUCLEO_F401RE", 00180 "toolchains": "GCC_ARM", 00181 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00182 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00183 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00184 } 00185 }, 00186 {"target": "NUCLEO_F411RE", 00187 "toolchains": "GCC_ARM", 00188 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00189 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00190 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00191 } 00192 }, 00193 {"target": "NUCLEO_F412ZG", 00194 "toolchains": "GCC_ARM", 00195 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00196 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00197 } 00198 }, 00199 {"target": "NUCLEO_F429ZI", 00200 "toolchains": "GCC_ARM", 00201 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00202 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00203 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00204 } 00205 }, 00206 {"target": "NUCLEO_F207ZG", 00207 "toolchains": "GCC_ARM", 00208 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00209 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00210 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00211 } 00212 }, 00213 {"target": "NUCLEO_F746ZG", 00214 "toolchains": "GCC_ARM", 00215 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00216 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00217 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00218 } 00219 }, 00220 {"target": "NUCLEO_F767ZI", 00221 "toolchains": "GCC_ARM", 00222 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00223 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00224 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00225 } 00226 }, 00227 {"target": "NUCLEO_L476RG", 00228 "toolchains": "GCC_ARM", 00229 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00230 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00231 "usb" : [ "USB_10", "USB_11"], 00232 } 00233 }, 00234 {"target": "DISCO_F429ZI", 00235 "toolchains": "GCC_ARM", 00236 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00237 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00238 "usb" : [ "USB_10", "USB_11"], 00239 } 00240 }, 00241 {"target": "DISCO_F407VG", 00242 "toolchains": "GCC_ARM", 00243 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00244 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00245 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00246 } 00247 }, 00248 {"target": "NUCLEO_F303ZE", 00249 "toolchains": "GCC_ARM", 00250 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00251 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00252 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00253 } 00254 }, 00255 {"target": "DISCO_L476VG", 00256 "toolchains": "GCC_ARM", 00257 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00258 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00259 "usb" : ["USB_1", "USB_2" ,"USB_3", "USB_10", "USB_11"], 00260 } 00261 }, 00262 {"target": "NUMAKER_PFM_NUC472", 00263 "toolchains": "GCC_ARM", 00264 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00265 "fat" : ["MBED_A12", "MBED_19", "PERF_1", "PERF_2", "PERF_3"], 00266 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00267 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00268 } 00269 }, 00270 {"target": "NUMAKER_PFM_M453", 00271 "toolchains": "GCC_ARM", 00272 "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], 00273 "fat" : ["MBED_A12", "MBED_19", "PERF_1", "PERF_2", "PERF_3"], 00274 "rtos" : ["RTOS_1", "RTOS_2", "RTOS_3"], 00275 "usb" : ["USB_1", "USB_2" ,"USB_3"], 00276 } 00277 } 00278 00279 ] 00280 00281 ################################################################################ 00282 00283 # Driver 00284 00285 def run_builds(dry_run): 00286 for build in build_list: 00287 toolchain_list = build["toolchains"] 00288 if type(toolchain_list) != type([]): toolchain_list = [toolchain_list] 00289 for toolchain in toolchain_list: 00290 cmdline = "python tools/build.py -m %s -t %s -j 4 -c --silent "% (build["target"], toolchain) 00291 libs = build.get("libs", []) 00292 if libs: 00293 cmdline = cmdline + " ".join(["--" + l for l in libs]) 00294 print "Executing: " + cmdline 00295 if not dry_run: 00296 if os.system(cmdline) != 0: 00297 sys.exit(1) 00298 00299 00300 def run_test_linking(dry_run): 00301 """ Function run make.py commands to build and link simple mbed SDK 00302 tests against few libraries to make sure there are no simple linking errors. 00303 """ 00304 for link in linking_list: 00305 toolchain_list = link["toolchains"] 00306 if type(toolchain_list) != type([]): 00307 toolchain_list = [toolchain_list] 00308 for toolchain in toolchain_list: 00309 tests = link["tests"] 00310 # Call make.py for each test group for particular library 00311 for test_lib in tests: 00312 test_names = tests[test_lib] 00313 test_lib_switch = "--" + test_lib if test_lib else "" 00314 cmdline = "python tools/make.py -m %s -t %s -c --silent %s -n %s " % (link["target"], toolchain, test_lib_switch, ",".join(test_names)) 00315 print "Executing: " + cmdline 00316 if not dry_run: 00317 if os.system(cmdline) != 0: 00318 sys.exit(1) 00319 00320 def run_test_testsuite(dry_run): 00321 cmdline = "python tools/singletest.py --version" 00322 print "Executing: " + cmdline 00323 if not dry_run: 00324 if os.system(cmdline) != 0: 00325 sys.exit(1) 00326 00327 if __name__ == "__main__": 00328 run_builds("-s" in sys.argv) 00329 run_test_linking("-s" in sys.argv) 00330 run_test_testsuite("-s" in sys.argv)
Generated on Tue Jul 12 2022 11:02:33 by
1.7.2