mirror of
https://github.com/EttusResearch/uhd.git
synced 2026-10-25 17:36:10 +00:00
This adapts the CI scripts such that there is a single pipeline (the "mono" pipeline) which builds both FPGA bitfiles and all of UHD, and runs the hardware tests. Note that this change does not load the FPGA bitfiles built in the same pipeline, which means this change really enables the same behaviour as before. Consuming bitfiles created in the same pipeline will be phase 2 of this endeavour.
366 lines
8.8 KiB
YAML
366 lines
8.8 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/e3xx
|
|
add:
|
|
- uhd.build.all
|
|
- hw.rf.e3xx
|
|
- hw.streaming.e3xx
|
|
- devtest.e3xx
|
|
- 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/.*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/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$
|
|
add:
|
|
- uhd.build.all
|
|
- uhd.utest.all
|
|
- hw.streaming.all
|
|
- hw.rf.all
|
|
- devtest.all
|
|
|
|
###############################################################################
|
|
# 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
|
|
add:
|
|
- mpm.build.x4xx
|
|
- hw.rf.x4xx
|
|
- devtest.x4xx
|
|
- re: fbx.py$
|
|
add:
|
|
- mpm.build.x4xx
|
|
- hw.rf.x440
|
|
- devtest.x440
|
|
- re: zbx.py
|
|
add:
|
|
- mpm.build.x4xx
|
|
- hw.rf.x410
|
|
- devtest.x410
|
|
- 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
|
|
stop: False
|
|
|
|
# library changes
|
|
- re: fpga/usrp3/lib
|
|
add:
|
|
- fpga.usrp3.all
|
|
|
|
# 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
|
|
|
|
# Device-specific changes.
|
|
- 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
|
|
|
|
###############################################################################
|
|
# 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: fpga/.ci/templates*
|
|
add:
|
|
- fpga.usrp3.all
|
|
# Device-specific pipeline changes.
|
|
- re: .ci/fpga/devices/job-build-x400.yml
|
|
add:
|
|
- fpga.usrp3.x4xx
|
|
- re: .ci/fpga/devices/job-build-x300.yml
|
|
add:
|
|
- fpga.usrp3.x3xx
|
|
- re: .ci/fpga/devices/job-build-e31x.yml
|
|
add:
|
|
- fpga.usrp3.e31x
|
|
- re: .ci/fpga/devices/job-build-e320.yml
|
|
add:
|
|
- fpga.usrp3.e320
|
|
- re: .ci/fpga/devices/job-build-n3xx.yml
|
|
add:
|
|
- fpga.usrp3.n3xx
|
|
|
|
###############################################################################
|
|
# LABEL-BASED RULES
|
|
###############################################################################
|
|
- label: ci:skip_hw_tests
|
|
remove_re:
|
|
- "^hw"
|
|
- "^devtest"
|
|
|
|
- label: ci:skip_devtests
|
|
remove_re:
|
|
- "^devtest"
|
|
|
|
- label: ci:skip_rf_tests
|
|
remove_re:
|
|
- "^hw.rf"
|