# 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/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 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 # 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"