mirror of
https://github.com/EttusResearch/uhd.git
synced 2026-10-25 17:36:10 +00:00
Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Co-authored-by: Wade Fife <wade.fife@ettus.com> Co-authored-by: Javier Valenzuela <javier.j.valenzuela@emerson.com>
479 lines
11 KiB
YAML
479 lines
11 KiB
YAML
# Test targets:
|
|
# - uhd.build.$PLATFORM: Build UHD on given platforms. This includes running unit tests.
|
|
# Valid values for $PLATFORM are: all, linux, windows, mac.
|
|
# - hw.streaming.$DEVICE: Run streaming tests for $DEVICE.
|
|
# - hw.rf.$DEVICE: Run RF tests for $DEVICE.
|
|
# - devtest.$DEVICE: Run devtests for $DEVICE.
|
|
|
|
###############################################################################
|
|
# STYLE / FORMATTING CHANGES
|
|
###############################################################################
|
|
- re: \.[ch]pp$
|
|
add:
|
|
- clang-format
|
|
stop: False
|
|
|
|
###############################################################################
|
|
# HOST CHANGES (UHD)
|
|
###############################################################################
|
|
- re: host/examples/rfnoc-gain|host/tests/test_modtool.py
|
|
add:
|
|
- uhd.build.linux
|
|
- uhd.rfnoc_modtool.all
|
|
# If only a unit test changed, then we need to re-run unit tests, but no HW tests
|
|
- re: ^host/tests/[^/]+(cpp|py)$|^host/tests/CMakeLists.txt
|
|
add:
|
|
- uhd.build.all
|
|
- uhd.utest.all
|
|
# Documentation changes
|
|
- re: ^host/docs/
|
|
add:
|
|
- uhd.docs
|
|
# If a comment in a public header changed, then most likely the documentation
|
|
# changed, but we still want to run other tests, too
|
|
- re: ^host/include/uhd/.+\.hpp$
|
|
add:
|
|
- uhd.docs
|
|
include_content: comments
|
|
stop: False
|
|
# Image builder
|
|
# Note the FPGA pipelines have their own rules around the image builder. For
|
|
# UHD, we just run a build to make sure the package is not in a weird state.
|
|
- re: ^host/python/uhd/rfnoc_utils/grc.py
|
|
add:
|
|
- uhd.build.linux
|
|
- re: ^host/python/uhd/rfnoc_utils/
|
|
add:
|
|
- uhd.build.linux
|
|
# Device-specific changes. These should trigger HW tests only on those devices
|
|
# they affect. We start with daughterboard rules, then motherboard rules.
|
|
- re: host/lib/usrp/dboard/zbx/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x410
|
|
- hw.streaming.x410
|
|
- devtest.x410
|
|
- re: host/lib/usrp/dboard/hbx/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x420
|
|
- hw.streaming.x420
|
|
- devtest.x420
|
|
- re: host/lib/usrp/dboard/fbx/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x440
|
|
- hw.streaming.x440
|
|
- devtest.x440
|
|
- re: host/lib/usrp/dboard/e3xx
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.e3xx
|
|
- hw.streaming.e3xx
|
|
- devtest.e3xx
|
|
- re: mpm/include/mpm/ad9361
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.e3xx
|
|
- devtest.e3xx
|
|
- mpm.build.e3xx
|
|
- re: e3xx_ad9361_iface..pp
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.e3xx
|
|
- devtest.e3xx
|
|
- re: ad936
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.e3xx
|
|
- hw.rf.b2xx
|
|
- devtest.e3xx
|
|
- devtest.b2xx
|
|
- re: host/lib/usrp/dboard/magnesium
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.n310
|
|
- devtest.n310
|
|
- re: host/lib/usrp/dboard/rhodium
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.n320
|
|
- devtest.n320
|
|
- re: host/lib/usrp/dboard/twinrx/
|
|
name: host/lib/usrp/dboard/db_twinrx.cpp
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x310.twinrx
|
|
- hw.rf.x300.twinrx
|
|
- re: host/lib/usrp/dboard/obx|host/lib/include/uhdlib/usrp/dboard/obx
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x3xx
|
|
- devtest.x3xx
|
|
- hw.streaming.x3xx
|
|
- re: host/lib/usrp/dboard/.*CMakeLists.txt
|
|
add:
|
|
- uhd.build.all
|
|
- re: host/lib/usrp/dboard/db_.+pp$
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x3xx
|
|
- hw.rf.n2xx
|
|
- re: host/lib/usrp/b300/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.b3xx
|
|
- hw.streaming.b3xx
|
|
- devtest.b3xx
|
|
- re: host/lib/usrp/b200/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.b2xx
|
|
- hw.streaming.b2xx
|
|
- devtest.b2xx
|
|
- re: host/lib/usrp/b100/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.b1xx
|
|
- hw.streaming.b1xx
|
|
- devtest.b1xx
|
|
- re: host/lib/usrp/x300/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x3xx
|
|
- hw.streaming.x3xx
|
|
- devtest.x3xx.all
|
|
- re: host/lib/usrp/x400/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x4xx
|
|
- hw.rf.n3xx
|
|
- hw.streaming.x4xx
|
|
- devtest.x4xx
|
|
- re: host/lib/usrp/mpmd/
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.x4xx
|
|
- hw.rf.n3xx
|
|
- hw.rf.e3xx
|
|
- hw.streaming.x4xx
|
|
- hw.streaming.n3xx
|
|
- hw.streaming.e3xx
|
|
- devtest.x4xx
|
|
- devtest.e3xx
|
|
- devtest.n3xx
|
|
- re: host/lib/usrp/usrp2
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.n2xx
|
|
- re: host/tests/devtest
|
|
add:
|
|
- uhd.build.all
|
|
- devtest.all
|
|
- re: images/manifest
|
|
add:
|
|
- uhd.build.all
|
|
- uhd.utest.all
|
|
- hw.streaming.all
|
|
- hw.rf.all
|
|
- devtest.all
|
|
# Catchall rule for UHD changes
|
|
- re: host/.+cpp$|host/.*CMakeLists.txt|host/.+hpp$|host/.+ipp$|host/.+c$|host/.+h$|host/.+py$|^host/[^/]+\.cmake$|^host/cmake/.+\.in$
|
|
add:
|
|
- uhd.build.all
|
|
- uhd.utest.all
|
|
- hw.streaming.all
|
|
- hw.rf.all
|
|
- devtest.all
|
|
stop: False
|
|
|
|
###############################################################################
|
|
# MPM CHANGES
|
|
###############################################################################
|
|
# When any code file changes, we want to run the unit tests, but run the
|
|
# other tests, too
|
|
- re: ^mpm/.+hpp$|^mpm/.+cpp$|^mpm/.+py$|^mpm/.+/tests/|^mpm/.*CMakeLists.txt$
|
|
add:
|
|
- uhd.build.linux
|
|
- mpm.utest.all
|
|
stop: False
|
|
- re: ^mpm/.+/ad9361|^mpm/.+catalina$|^mpm/.+/dboard_manager/ad936x_db.py
|
|
add:
|
|
- mpm.build.e3xx
|
|
- hw.rf.e3xx
|
|
- devtest.e3xx
|
|
- re: ^mpm/.+/periph_manager/n3xx
|
|
add:
|
|
- mpm.build.n3xx
|
|
- hw.rf.n3xx
|
|
- hw.streaming.n3xx
|
|
- devtest.n3xx
|
|
- re: ^mpm/.+/ad937x|^mpm/.+/mykonos|^mpm/.+/dboard_manager/mg_|magnesium_manager..pp$
|
|
add:
|
|
- mpm.build.n310
|
|
- hw.rf.n310
|
|
- devtest.n310
|
|
- re: ^mpm/.+/dboard_manager/rh_|^mpm/.+/dboard_manager/..._rh.py
|
|
add:
|
|
- mpm.build.n320
|
|
- hw.rf.n320
|
|
- devtest.n320
|
|
- re: ^mpm/.+periph_manager/x4xx
|
|
add:
|
|
- hw.streaming.x4xx
|
|
stop: False
|
|
- re: ^mpm/.+/rfdc|^mpm/.+_manager/x4xx|^mpm/.+/lmk04832.py|x4xx_bist$
|
|
add:
|
|
- mpm.build.x4xx
|
|
- hw.rf.x4xx
|
|
- devtest.x4xx
|
|
- re: x4xx_bist$
|
|
add:
|
|
- mpm.build.x4xx
|
|
- devtest.x4xx
|
|
- re: zbx.py$
|
|
add:
|
|
- mpm.build.x4xx
|
|
- hw.rf.x410
|
|
- devtest.x410
|
|
- re: hbx.py$
|
|
add:
|
|
- mpm.build.x4xx
|
|
- hw.rf.x420
|
|
- devtest.x420
|
|
- re: fbx.py$
|
|
add:
|
|
- mpm.build.x4xx
|
|
- hw.rf.x440
|
|
- devtest.x440
|
|
- re: e31x_db_manager..pp$|^mpm/.+/periph_manager/e31x|e31x_db.py$
|
|
add:
|
|
- mpm.build.e310
|
|
- hw.rf.e310
|
|
- devtest.e310
|
|
- re: neon_manager..pp$|^mpm/.+/periph_manager/e320
|
|
add:
|
|
- mpm.build.e320
|
|
- hw.rf.e320
|
|
- devtest.e320
|
|
# Catchall rule for MPM changes
|
|
- re: ^mpm/
|
|
add:
|
|
- mpm.build.all
|
|
- mpm.utest.all
|
|
- hw.streaming.all
|
|
- hw.rf.all
|
|
- devtest.all
|
|
|
|
###############################################################################
|
|
# FPGA CHANGES
|
|
###############################################################################
|
|
# build targets:
|
|
# - fpga.usrp3.$PLATFORM: Build FPGA images for given platforms.
|
|
|
|
- re: fpga/usrp3/
|
|
add:
|
|
- fpga.usrp3.testbenches
|
|
- fpga.usrp3.regmaps
|
|
stop: False
|
|
|
|
# library changes
|
|
- re: fpga/usrp3/lib
|
|
add:
|
|
- fpga.usrp3.all
|
|
- uhd.rfnoc_modtool.all
|
|
- fpga.usrp3.cpld.x4xx
|
|
- fpga.usrp3.cpld.x3xx
|
|
|
|
# image builder changes
|
|
- re: host/utils/rfnoc_image_builder.py
|
|
add:
|
|
- fpga.usrp3.all
|
|
# only trigger on .py files, exclude modtools_commands and templates
|
|
- re: host/python/uhd/rfnoc_utils/[^/]+py$
|
|
add:
|
|
- fpga.usrp3.all
|
|
# RFNoC blocks
|
|
- re: host/include/uhd/rfnoc/blocks/.*\.yml
|
|
add:
|
|
- fpga.usrp3.all
|
|
# RFNoC core (the device-specific BSP files are checked below)
|
|
- re: host/include/uhd/rfnoc/core/rfnoc_imagebuilder_args\.json
|
|
add:
|
|
- fpga.usrp3.all
|
|
# RFNoC modules
|
|
- re: host/include/uhd/rfnoc/modules/.*\.yml
|
|
add:
|
|
- fpga.usrp3.all
|
|
# RFNoC transport adapters (only relevant for x4xx)
|
|
- re: host/include/uhd/rfnoc/transport_adapters/.*\.yml
|
|
add:
|
|
- fpga.usrp3.x4xx
|
|
|
|
# CPLD related changes
|
|
- re: fpga/usrp3/top/x400/cpld
|
|
add:
|
|
- fpga.usrp3.cpld.x4xx
|
|
- re: fpga/usrp3/top/x400/dboards/.bx/cpld
|
|
add:
|
|
- fpga.usrp3.cpld.x4xx
|
|
- re: fpga/usrp3/top/x400/constraints/timing/shared_constants.sdc
|
|
add:
|
|
- fpga.usrp3.cpld.x4xx
|
|
stop: False
|
|
|
|
# Device-specific changes.
|
|
# exclude documentation from triggering FPGA builds
|
|
- re: fpga/usrp3/top/x400/doc
|
|
stop: True
|
|
- re: fpga/usrp3/top/x400
|
|
add:
|
|
- fpga.usrp3.x4xx
|
|
- re: host/include/uhd/rfnoc/core/x4.._bsp.yml
|
|
add:
|
|
- fpga.usrp3.x4xx
|
|
- re: fpga/usrp3/top/x300
|
|
add:
|
|
- fpga.usrp3.x3xx
|
|
- re: host/include/uhd/rfnoc/core/x3.._bsp.yml
|
|
add:
|
|
- fpga.usrp3.x3xx
|
|
- re: fpga/usrp3/top/e31x
|
|
add:
|
|
- fpga.usrp3.e31x
|
|
- re: host/include/uhd/rfnoc/core/e310_bsp.yml
|
|
add:
|
|
- fpga.usrp3.e31x
|
|
- re: fpga/usrp3/top/e320
|
|
add:
|
|
- fpga.usrp3.e320
|
|
- re: host/include/uhd/rfnoc/core/e320_bsp.yml
|
|
add:
|
|
- fpga.usrp3.e320
|
|
- re: fpga/usrp3/top/n3xx
|
|
add:
|
|
- fpga.usrp3.n3xx
|
|
- re: host/include/uhd/rfnoc/core/n3.._bsp.yml
|
|
add:
|
|
- fpga.usrp3.n3xx
|
|
- re: fpga/usrp3/top/b300
|
|
add:
|
|
- fpga.usrp3.b310
|
|
- re: host/include/uhd/rfnoc/core/b310_bsp.yml
|
|
add:
|
|
- fpga.usrp3.b310
|
|
|
|
# CPLD related changes
|
|
- re: fpga/usrp3/top/x400/cpld
|
|
add:
|
|
- fpga.usrp3.cpld.x4xx
|
|
- re: fpga/usrp3/top/x400/dboards
|
|
add:
|
|
- fpga.usrp3.cpld.x4xx
|
|
- re: fpga/usrp3/top/x400/constraints/timing/shared_constants.sdc
|
|
add:
|
|
- fpga.usrp3.cpld.x4xx
|
|
- re: fpga/usrp3/top/x300/dboards
|
|
add:
|
|
- fpga.usrp3.cpld.x3xx
|
|
|
|
###############################################################################
|
|
# CI CHANGES
|
|
###############################################################################
|
|
# Changes to pipeline infrastructure or build jobs -> build and test all
|
|
- re: .ci/templates/stages-.*.yml
|
|
add:
|
|
- uhd.build.all
|
|
- hw.streaming.all
|
|
- hw.rf.all
|
|
- devtest.all
|
|
- re: .ci/templates/.*-build.*.yml
|
|
add:
|
|
- uhd.build.all
|
|
- hw.streaming.all
|
|
- hw.rf.all
|
|
- devtest.all
|
|
# Devtest
|
|
- re: .ci/templates/.*-devtest.*.yml
|
|
add:
|
|
- uhd.build.linux
|
|
- devtest.all
|
|
# RF Test
|
|
- re: .ci/templates/.*-rf-tests.*.yml
|
|
add:
|
|
- uhd.build.linux
|
|
- hw.rf.all
|
|
# Streaming Test
|
|
- re: .ci/templates/.*-streaming.*.yml
|
|
add:
|
|
- uhd.build.linux
|
|
- hw.streaming.all
|
|
# RF Test x4xx
|
|
- re: .ci/templates/tests/.*.yml
|
|
add:
|
|
- uhd.build.linux
|
|
- hw.rf.x4xx
|
|
- re: .ci/templates/.*rfnoc_modtool.*.yml
|
|
add:
|
|
- uhd.build.linux
|
|
- uhd.rfnoc_modtool.all
|
|
|
|
|
|
- re: .ci/fpga/templates
|
|
add:
|
|
- fpga.usrp3.all
|
|
- fpga.usrp3.cpld.x4xx
|
|
- fpga.usrp3.cpld.x3xx
|
|
- fpga.usrp3.testbenches
|
|
- fpga.usrp3.regmaps
|
|
- re: .ci/fpga/scripts
|
|
add:
|
|
- fpga.usrp3.all
|
|
- fpga.usrp3.cpld.x4xx
|
|
- fpga.usrp3.cpld.x3xx
|
|
- fpga.usrp3.testbenches
|
|
- fpga.usrp3.regmaps
|
|
- re: .ci/hwtools/root.py
|
|
add:
|
|
- fpga.usrp3.all
|
|
- fpga.usrp3.cpld.x4xx
|
|
- fpga.usrp3.cpld.x3xx
|
|
- fpga.usrp3.testbenches
|
|
- fpga.usrp3.regmaps
|
|
- re: .ci/hwtools
|
|
add:
|
|
- fpga.usrp3.regmaps
|
|
# Device-specific pipeline changes.
|
|
- re: .ci/fpga/devices/job-build-fpga-x400.yml
|
|
add:
|
|
- fpga.usrp3.x4xx
|
|
- re: .ci/fpga/devices/job-build-fpga-x300.yml
|
|
add:
|
|
- fpga.usrp3.x3xx
|
|
- re: .ci/fpga/devices/job-build-fpga-e31x.yml
|
|
add:
|
|
- fpga.usrp3.e31x
|
|
- re: .ci/fpga/devices/job-build-fpga-e320.yml
|
|
add:
|
|
- fpga.usrp3.e320
|
|
- re: .ci/fpga/devices/job-build-fpga-n3xx.yml
|
|
add:
|
|
- fpga.usrp3.n3xx
|
|
|
|
###############################################################################
|
|
# LABEL-BASED RULES
|
|
###############################################################################
|
|
- label: ci:skip_devtests
|
|
remove_re:
|
|
- "^devtest"
|
|
# Need to escape the dot for the regex by using a backslash: \.
|
|
# Have to use double backslashes in order to make the yaml parser happy
|
|
- label: ci:skip_rf_tests
|
|
remove_re:
|
|
- "^hw\\.rf"
|
|
|
|
- label: ci:skip_streaming_tests
|
|
remove_re:
|
|
- "^hw\\.streaming"
|
|
|