mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #5729 from 0xc0170/fix_travis_time
Travis: define matrix builds for mbed 2 jobspull/5720/head
commit
a7aaee3c9c
58
.travis.yml
58
.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
|
||||
|
|
|
|||
|
|
@ -22,17 +22,16 @@ 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": [] },
|
||||
|
||||
{ "target": "LPC11U24_301", "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"] },
|
||||
|
|
@ -88,14 +87,24 @@ build_list = (
|
|||
{ "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"] },
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
"NXP":
|
||||
(
|
||||
{ "target": "LPC1768", "toolchains": "GCC_ARM", "libs": ["dsp", "usb"] },
|
||||
{ "target": "LPC11U24", "toolchains": "GCC_ARM", "libs": ["dsp"] },
|
||||
{ "target": "OC_MBUINO", "toolchains": "GCC_ARM", "libs": [] },
|
||||
|
||||
{ "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"] },
|
||||
|
|
@ -107,37 +116,67 @@ build_list = (
|
|||
{ "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"] },
|
||||
)
|
||||
},
|
||||
|
||||
{
|
||||
"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"] },
|
||||
)
|
||||
},
|
||||
|
||||
{
|
||||
"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"] },
|
||||
)
|
||||
},
|
||||
|
||||
{
|
||||
"MAXIM":
|
||||
(
|
||||
{ "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"] },
|
||||
)
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"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 = [
|
||||
{
|
||||
"NXP": (
|
||||
{"target": "LPC1768",
|
||||
"toolchains": "GCC_ARM",
|
||||
"tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_15", "MBED_16", "MBED_17"],
|
||||
|
|
@ -162,6 +201,11 @@ linking_list = [
|
|||
"usb" : ["USB_1", "USB_2" ,"USB_3"],
|
||||
}
|
||||
},
|
||||
)
|
||||
},
|
||||
|
||||
{
|
||||
"STM": (
|
||||
{"target": "NUCLEO_F446RE",
|
||||
"toolchains": "GCC_ARM",
|
||||
"tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"],
|
||||
|
|
@ -259,6 +303,10 @@ linking_list = [
|
|||
"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"],
|
||||
|
|
@ -277,18 +325,22 @@ linking_list = [
|
|||
"usb" : ["USB_1", "USB_2" ,"USB_3"],
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
]
|
||||
|
||||
################################################################################
|
||||
|
||||
# Driver
|
||||
|
||||
def run_builds(dry_run):
|
||||
for build in build_list:
|
||||
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 -j 4 -c --silent "% (build["target"], toolchain)
|
||||
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])
|
||||
|
|
@ -298,11 +350,13 @@ def run_builds(dry_run):
|
|||
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:
|
||||
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]
|
||||
|
|
@ -318,7 +372,7 @@ def run_test_linking(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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue