From cbcf8a46c6c8356221a47d7b71e66c85404fe589 Mon Sep 17 00:00:00 2001 From: Virendra Kakade Date: Tue, 11 Aug 2026 09:07:01 -0500 Subject: [PATCH] ci: add nib310rio-dev install step to UHD builds Add steps-install-nib310rio-dev.yml template that downloads the deb or rpm artifact based on buildOSName and installs nib310rio-dev before the build. This satisfies the nib310rio.h build-time dependency required by UHD. Signed-off-by: Virendra Kakade --- .ci/templates/job-uhd-build-src.yml | 3 +++ .ci/templates/stages-uhd-pipeline.yml | 5 +++- .ci/templates/steps-install-nib310rio-dev.yml | 24 +++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .ci/templates/steps-install-nib310rio-dev.yml diff --git a/.ci/templates/job-uhd-build-src.yml b/.ci/templates/job-uhd-build-src.yml index 4435283de..6ca21137c 100644 --- a/.ci/templates/job-uhd-build-src.yml +++ b/.ci/templates/job-uhd-build-src.yml @@ -87,6 +87,9 @@ jobs: - download: uhd_build_docker_container + - ${{ if not(or(contains(parameters.toolset, 'msbuild'), eq(parameters.toolset, 'make_homebrew_macos'))) }}: + - template: steps-install-nib310rio-dev.yml + - ${{ if eq(parameters.toolset, 'make') }}: - template: steps-build-uhd-make.yml parameters: diff --git a/.ci/templates/stages-uhd-pipeline.yml b/.ci/templates/stages-uhd-pipeline.yml index 89652d1bc..389347f24 100644 --- a/.ci/templates/stages-uhd-pipeline.yml +++ b/.ci/templates/stages-uhd-pipeline.yml @@ -253,7 +253,7 @@ parameters: attempt_timeout: 360 max_attempts: 2 # Next parameters are used to control conditional execution of embedded system image build stages. -# They are not parameters that can be set by the user, +# They are not parameters that can be set by the user, # but rather they are computed based on the output of the analyze_changeset stage. - name: embedded_stage_condition_e3xx type: string @@ -327,6 +327,9 @@ resources: - pipeline: uhd_build_docker_container source: 'uhddev Build Docker Containers' branch: master + - pipeline: nib310rio_kernel_packages + source: 'usrp-pcie-driver pipeline' + branch: main - pipeline: usrp-kas-pipeline source: 'usrp-kas' branch: scarthgap diff --git a/.ci/templates/steps-install-nib310rio-dev.yml b/.ci/templates/steps-install-nib310rio-dev.yml new file mode 100644 index 000000000..49b92e925 --- /dev/null +++ b/.ci/templates/steps-install-nib310rio-dev.yml @@ -0,0 +1,24 @@ +steps: +- download: nib310rio_kernel_packages + artifact: nib310rio-deb-packages + displayName: Download nib310rio-dev deb + condition: and(succeeded(), contains(variables['buildOSName'], 'ubuntu')) + +- download: nib310rio_kernel_packages + artifact: nib310rio-rpm-packages + displayName: Download nib310rio-dev rpm + condition: and(succeeded(), contains(variables['buildOSName'], 'fedora')) + +- script: | + set -euo pipefail + if command -v dpkg >/dev/null 2>&1; then + pkg=$(find "$(Pipeline.Workspace)/nib310rio_kernel_packages/nib310rio-deb-packages" \ + -type f -name 'nib310rio-dev_*_all.deb' | sort -V | tail -n 1) + sudo dpkg -i "$pkg" + else + # Search only RPMS/ to avoid picking up the source RPM from SRPMS/ + pkg=$(find "$(Pipeline.Workspace)/nib310rio_kernel_packages/nib310rio-rpm-packages/RPMS" \ + -type f -name 'nib310rio-dev-*.rpm' | sort -V | tail -n 1) + sudo rpm -i "$pkg" + fi + displayName: Install nib310rio-dev