diff --git a/.travis.yml b/.travis.yml index 4b2059c5e2..a03c3af692 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +language: python +python: + '2.7' env: global: @@ -15,6 +18,7 @@ cache: pip: true directories: - $HOME/.cache/apt + - $HOME/gcc-arm-none-eabi-6-2017-q2-update before_install: - bash -c "$STATUS" pending "Local $NAME testing is in progress" @@ -36,8 +40,7 @@ after_failure: matrix: include: - - python: '2.7' - env: + - env: - NAME=docs install: # Install dependencies @@ -68,19 +71,13 @@ matrix: find -name "*.s" | tee BUILD/badasm | sed -e "s/^/Bad Assembler file name found: /" && [ ! -s BUILD/badasm ] - - python: '2.7' - env: + - env: - NAME=tools install: # Install dependencies - sudo apt-get install gcc-arm-embedded - - pip install --user -r requirements.txt - - pip install --user pytest - - pip install --user pylint - - pip install --user hypothesis - - pip install --user mock - - pip install --user coverage - - pip install --user coveralls + - pip install -r requirements.txt + - pip install pytest pylint hypothesis mock coverage coveralls # Print versions we use - arm-none-eabi-gcc --version - python --version @@ -96,14 +93,13 @@ matrix: # Report success since we have overridden default behaviour - bash -c "$STATUS" success "Local $NAME testing has passed" - - python: '2.7' - env: + - env: - NAME=events - EVENTS=events install: # Install dependencies - sudo apt-get install gcc-arm-embedded - - pip install --user -r requirements.txt + - pip install -r requirements.txt # Print versions we use - arm-none-eabi-gcc --version - gcc --version @@ -115,14 +111,13 @@ matrix: # Run local equeue tests - make -C $EVENTS/equeue test - - python: '2.7' - env: + - env: - NAME=littlefs - LITTLEFS=features/filesystem/littlefs install: # Install dependencies - sudo apt-get install gcc-arm-embedded fuse libfuse-dev - - pip install --user -r requirements.txt + - pip install -r requirements.txt - git clone https://github.com/armmbed/spiflash-driver.git # Print versions - arm-none-eabi-gcc --version @@ -162,13 +157,16 @@ matrix: - ls MOUNT/littlefs - CFLAGS="-Wno-format" make -CMOUNT/littlefs -B test_dirs QUIET=1 - - python: '2.7' - env: - - NAME=mbed2 + - &mbed-2 + env: NAME=mbed2-NXP install: # Install dependencies - - sudo apt-get install gcc-arm-embedded - - pip install --user -r requirements.txt + - export GCC_DIR=$HOME/gcc-arm-none-eabi-6-2017-q2-update + - export GCC_ARCHIVE=$HOME/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 + - export GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2?revision=2cc92fb5-3e0e-402d-9197-bdfc8224d8a5?product=GNU%20Arm%20Embedded%20Toolchain,64-bit,,Linux,6-2017-q2-update + - if [ ! -e $GCC_DIR/bin/arm-none-eabi-gcc ]; then wget $GCC_URL -O $GCC_ARCHIVE; tar xfj $GCC_ARCHIVE -C $HOME; fi + - export PATH=$PATH:$GCC_DIR/bin + - pip install -r requirements.txt # Print versions we use - arm-none-eabi-gcc --version - python --version @@ -177,6 +175,16 @@ matrix: - mkdir BUILD script: # Run local mbed 2 testing - # Note: These take ~40 minutes to run - - python2 -u tools/build_travis.py | sed -n '/^Executing/p' - + - python2 -u tools/build_travis.py --vendor "${NAME#mbed2-}" + - <<: *mbed-2 + env: NAME=mbed2-STM + - <<: *mbed-2 + env: NAME=mbed2-NORDIC + - <<: *mbed-2 + env: NAME=mbed2-SILICON_LABS + - <<: *mbed-2 + env: NAME=mbed2-MAXIM + - <<: *mbed-2 + env: NAME=mbed2-ATMEL + - <<: *mbed-2 + env: NAME=mbed2-NUVOTON diff --git a/tools/build_travis.py b/tools/build_travis.py index 395dbd593a..432ca638da 100644 --- a/tools/build_travis.py +++ b/tools/build_travis.py @@ -22,303 +22,357 @@ limitations under the License. import os import sys +from argparse import ArgumentParser + ################################################################################ # Configure builds here # "libs" can contain "dsp", "usb" -build_list = ( - { "target": "LPC1768", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "LPC11U24", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "OC_MBUINO", "toolchains": "GCC_ARM", "libs": [] }, +build_list = [ + { + "STM": + ( + { "target": "B96B_F446VE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_L053R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_L152RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F030R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F042K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F070RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F072RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F091RC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F103RB", "toolchains": "GCC_ARM" }, + { "target": "NUCLEO_F207ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F302R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F303K8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F303RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F303ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F334R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F401RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F410RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F412ZG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_L432KC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_L476RG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_L011K4", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_L031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_L073RZ", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NUCLEO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F446RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F446ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F746ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_F767ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUCLEO_L496ZG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "LPC11U24_301", "toolchains": "GCC_ARM", "libs": [] }, + { "target": "MOTE_L152RC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "B96B_F446VE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_L053R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_L152RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F030R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F042K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F070RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F072RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F091RC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F103RB", "toolchains": "GCC_ARM" }, - { "target": "NUCLEO_F207ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F302R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F303K8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F303RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F303ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F334R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F401RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F410RB", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F412ZG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_L432KC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_L476RG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_L011K4", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_L031K6", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_L073RZ", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUCLEO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F446RE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F446ZE", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F746ZG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_F767ZI", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUCLEO_L496ZG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "ELMO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "MOTE_L152RC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "MTS_MDOT_F405RG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "MTS_MDOT_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "MTS_DRAGONFLY_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "ARCH_MAX", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "ELMO_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F051R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F303VC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F334C8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F401VC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "MTS_MDOT_F405RG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "MTS_MDOT_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "MTS_DRAGONFLY_F411RE", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "ARCH_MAX", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F407VG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "DISCO_F413ZH", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F469NI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F746NG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_F769NI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DISCO_L475VG_IOT01A", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "DISCO_L476VG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "DISCO_L072CZ_LRWAN1", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + ), + }, - { "target": "DISCO_F051R8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_F303VC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_F334C8", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_F401VC", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { + "NXP": + ( + { "target": "LPC1768", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "LPC11U24", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "OC_MBUINO", "toolchains": "GCC_ARM", "libs": [] }, - { "target": "DISCO_F407VG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "DISCO_F413ZH", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_F429ZI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_F469NI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_F746NG", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_F769NI", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DISCO_L475VG_IOT01A", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "DISCO_L476VG", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "DISCO_L072CZ_LRWAN1", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "LPC11U24_301", "toolchains": "GCC_ARM", "libs": [] }, + { "target": "LPC1114", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "LPC11U35_401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "UBLOX_C027", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "LPC11U35_501", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "LPC11U68", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "LPC11U37H_401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "LPC1549", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "KL05Z", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "KL25Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "KL27Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "KL43Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "KL46Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "K20D50M", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "TEENSY3_1", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "K64F", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "K22F", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "LPC4088", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "ARCH_PRO", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + ) + }, - { "target": "LPC1114", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "LPC11U35_401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "UBLOX_C027", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "LPC11U35_501", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "LPC11U68", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "LPC11U37H_401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { + "NORDIC": + ( + { "target": "NRF51822", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "DELTA_DFCM_NNN40", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NRF51_DK", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "NRF51_MICROBIT", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + ) + }, - { "target": "KL05Z", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "KL25Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "KL27Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "KL43Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "KL46Z", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "K20D50M", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "TEENSY3_1", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "K64F", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "K22F", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "LPC4088", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "ARCH_PRO", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "LPC1549", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NRF51822", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "DELTA_DFCM_NNN40", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NRF51_DK", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NRF51_MICROBIT", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { + "SILICON_LABS": + ( + { "target": "EFM32ZG_STK3200", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "EFM32HG_STK3400", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "EFM32LG_STK3600", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "EFM32GG_STK3700", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "EFM32WG_STK3800", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "EFM32PG_STK3401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + ) + }, - { "target": "EFM32ZG_STK3200", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "EFM32HG_STK3400", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "EFM32LG_STK3600", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "EFM32GG_STK3700", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "EFM32WG_STK3800", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "EFM32PG_STK3401", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { + "MAXIM": + ( + { "target": "MAXWSNENV", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "MAX32600MBED", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "MAX32620HSP", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + ) + }, - { "target": "MAXWSNENV", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "MAX32600MBED", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "MAX32620HSP", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { + "ATMEL": + ( + { "target": "SAMR21G18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "SAMD21J18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "SAMD21G18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + { "target": "SAML21J18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, + ) + }, - { "target": "SAMR21G18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "SAMD21J18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "SAMD21G18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "SAML21J18A", "toolchains": "GCC_ARM", "libs": ["dsp"] }, - { "target": "NUMAKER_PFM_NUC472", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUMAKER_PFM_M453", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - { "target": "NUMAKER_PFM_M487", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, - ) + { + "NUVOTON": + ( + { "target": "NUMAKER_PFM_NUC472", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUMAKER_PFM_M453", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + { "target": "NUMAKER_PFM_M487", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] }, + ) + } +] ################################################################################ # Configure example test building (linking against external mbed SDK libraries) linking_list = [ - {"target": "LPC1768", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_15", "MBED_16", "MBED_17"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "K64F", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "K22F", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "KL43Z", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_F446RE", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_F446ZE", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_F401RE", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], + { + "NXP": ( + {"target": "LPC1768", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_15", "MBED_16", "MBED_17"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "K64F", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "K22F", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "KL43Z", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + ) + }, + + { + "STM": ( + {"target": "NUCLEO_F446RE", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_F446ZE", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_F401RE", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_F411RE", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_F412ZG", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + } + }, + {"target": "NUCLEO_F429ZI", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_F207ZG", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_F746ZG", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_F767ZI", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUCLEO_L476RG", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + } + }, + {"target": "DISCO_F429ZI", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + } + }, + {"target": "DISCO_F407VG", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "DISCO_F413ZH", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + } + }, + {"target": "NUCLEO_F303ZE", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "DISCO_L475VG_IOT01A", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "DISCO_L476VG", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "DISCO_L072CZ_LRWAN1", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + } + }, + ) + }, + { + "NUVOTON": ( + {"target": "NUMAKER_PFM_NUC472", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUMAKER_PFM_M453", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } + }, + {"target": "NUMAKER_PFM_M487", + "toolchains": "GCC_ARM", + "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], + "usb" : ["USB_1", "USB_2" ,"USB_3"], + } } - }, - {"target": "NUCLEO_F411RE", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_F412ZG", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - } - }, - {"target": "NUCLEO_F429ZI", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_F207ZG", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_F746ZG", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_F767ZI", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUCLEO_L476RG", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - } - }, - {"target": "DISCO_F429ZI", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - } - }, - {"target": "DISCO_F407VG", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "DISCO_F413ZH", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - } - }, - {"target": "NUCLEO_F303ZE", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "DISCO_L475VG_IOT01A", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "DISCO_L476VG", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "DISCO_L072CZ_LRWAN1", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - } - }, - {"target": "NUMAKER_PFM_NUC472", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUMAKER_PFM_M453", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - }, - {"target": "NUMAKER_PFM_M487", - "toolchains": "GCC_ARM", - "tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"], - "usb" : ["USB_1", "USB_2" ,"USB_3"], - } - } - ] + ) + } +] ################################################################################ # Driver -def run_builds(dry_run): - for build in build_list: - toolchain_list = build["toolchains"] - if type(toolchain_list) != type([]): toolchain_list = [toolchain_list] - for toolchain in toolchain_list: - cmdline = "python tools/build.py -m %s -t %s -j 4 -c --silent "% (build["target"], toolchain) - libs = build.get("libs", []) - if libs: - cmdline = cmdline + " ".join(["--" + l for l in libs]) - print "Executing: " + cmdline - if not dry_run: - if os.system(cmdline) != 0: - sys.exit(1) +def run_builds(dry_run, vendor): + for vendor_list in build_list: + if vendor in vendor_list: + for build in vendor_list[vendor]: + toolchain_list = build["toolchains"] + if type(toolchain_list) != type([]): toolchain_list = [toolchain_list] + for toolchain in toolchain_list: + cmdline = "python tools/build.py -m %s -t %s -c --silent "% (build["target"], toolchain) + libs = build.get("libs", []) + if libs: + cmdline = cmdline + " ".join(["--" + l for l in libs]) + print "Executing: " + cmdline + if not dry_run: + if os.system(cmdline) != 0: + sys.exit(1) -def run_test_linking(dry_run): +def run_test_linking(dry_run, vendor): """ Function run make.py commands to build and link simple mbed SDK tests against few libraries to make sure there are no simple linking errors. """ - for link in linking_list: - toolchain_list = link["toolchains"] - if type(toolchain_list) != type([]): - toolchain_list = [toolchain_list] - for toolchain in toolchain_list: - tests = link["tests"] - # Call make.py for each test group for particular library - for test_lib in tests: - test_names = tests[test_lib] - test_lib_switch = "--" + test_lib if test_lib else "" - cmdline = "python tools/make.py -m %s -t %s -c --silent %s -n %s " % (link["target"], toolchain, test_lib_switch, ",".join(test_names)) - print "Executing: " + cmdline - if not dry_run: - if os.system(cmdline) != 0: - sys.exit(1) + for vendor_list in linking_list: + if vendor in vendor_list: + for link in vendor_list[vendor]: + toolchain_list = link["toolchains"] + if type(toolchain_list) != type([]): + toolchain_list = [toolchain_list] + for toolchain in toolchain_list: + tests = link["tests"] + # Call make.py for each test group for particular library + for test_lib in tests: + test_names = tests[test_lib] + test_lib_switch = "--" + test_lib if test_lib else "" + cmdline = "python tools/make.py -m %s -t %s -c --silent %s -n %s " % (link["target"], toolchain, test_lib_switch, ",".join(test_names)) + print "Executing: " + cmdline + if not dry_run: + if os.system(cmdline) != 0: + sys.exit(1) -def run_test_testsuite(dry_run): +def run_test_testsuite(dry_run, vendor): cmdline = "python tools/singletest.py --version" print "Executing: " + cmdline if not dry_run: @@ -326,6 +380,16 @@ def run_test_testsuite(dry_run): sys.exit(1) if __name__ == "__main__": - run_builds("-s" in sys.argv) - run_test_linking("-s" in sys.argv) - run_test_testsuite("-s" in sys.argv) + parser = ArgumentParser() + + parser.add_argument("--vendor", + metavar="vendor", + type=str.upper, + help="Select a vendor to run travis tests" + ) + + options = parser.parse_args() + + run_builds("-s" in sys.argv, options.vendor) + run_test_linking("-s" in sys.argv, options.vendor) + run_test_testsuite("-s" in sys.argv, options.vendor)