uhd/tools/changeset_testlist.yaml
Martin Braun 3644be33a5 ci: Merge FPGA pipelines into mono pipelines
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.
2025-02-27 16:01:43 +01:00

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"