Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .azure-pipelines/build-docker-sonic-vs-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,17 @@ jobs:
artifact: ${{ parameters.swss_artifact_name }}
path: $(Build.ArtifactStagingDirectory)/download
displayName: "Download sonic swss artifact"
- task: DownloadPipelineArtifact@2
inputs:
source: specific
project: build
pipeline: Azure.sonic-buildimage.common_libs
artifact: common-lib
runVersion: 'latestFromBranch'
runBranch: 'refs/heads/$(BUILD_BRANCH)'
path: $(Build.ArtifactStagingDirectory)/download
patterns: '**/target/debs/*/libnexthopgroup_*.deb'
displayName: "Download sonic-buildimage libnexthopgroup package"
- task: DownloadPipelineArtifact@2
inputs:
source: specific
Expand Down Expand Up @@ -106,6 +117,7 @@ jobs:
mkdir -p .azure-pipelines/docker-sonic-vs/debs

cp -v $(Build.ArtifactStagingDirectory)/download/*.deb .azure-pipelines/docker-sonic-vs/debs
find $(Build.ArtifactStagingDirectory)/download -name 'libnexthopgroup_*.deb' -exec cp "{}" .azure-pipelines/docker-sonic-vs/debs \;

pushd .azure-pipelines

Expand Down
6 changes: 4 additions & 2 deletions .azure-pipelines/build-swss-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,9 @@ jobs:
target/debs/${{ parameters.debian_version }}/libnl-genl*.deb
target/debs/${{ parameters.debian_version }}/libnl-route*.deb
target/debs/${{ parameters.debian_version }}/libnl-nf*.deb
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libnexthopgroup_*.deb
target/debs/${{ parameters.debian_version }}/libnexthopgroup-dev_*.deb
target/debs/${{ parameters.debian_version }}/libprotobuf*.deb
target/debs/${{ parameters.debian_version }}/libprotoc*.deb
target/debs/${{ parameters.debian_version }}/protobuf-compiler*.deb
Expand Down Expand Up @@ -172,7 +174,7 @@ jobs:
- script: |
set -ex
# install libyang before install libswsscommon
sudo env VPP_INSTALL_SKIP_SYSCTL=1 dpkg -i $(find ./download -name libyang_*.deb)
sudo env VPP_INSTALL_SKIP_SYSCTL=1 dpkg -i $(find ./download -name libyang3_*.deb)
sudo env VPP_INSTALL_SKIP_SYSCTL=1 dpkg -i $(find ./download -name *.deb)
rm -rf download || true
cat /etc/apt/sources.list
Expand Down
8 changes: 4 additions & 4 deletions .azure-pipelines/build-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ jobs:
path: $(Build.ArtifactStagingDirectory)/download
artifact: common-lib
patterns: |
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
displayName: "Download libyang from amd64 common lib"
- task: DownloadPipelineArtifact@2
condition: and(ne('${{ parameters.debian_version }}', 'trixie'), ne('${{ parameters.arch }}', 'amd64'))
Expand All @@ -153,7 +153,7 @@ jobs:
path: $(Build.ArtifactStagingDirectory)/download
artifact: common-lib.${{ parameters.arch }}
patterns: |
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
- task: DownloadPipelineArtifact@2
condition: and(eq('${{ parameters.debian_version }}', 'trixie'), eq('${{ parameters.arch }}', 'amd64'))
inputs:
Expand All @@ -165,7 +165,7 @@ jobs:
path: $(Build.ArtifactStagingDirectory)/download
artifact: common-lib
patterns: |
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libpcre3_*.deb
displayName: "Download libyang from amd64 common lib"
- task: DownloadPipelineArtifact@2
Expand All @@ -179,7 +179,7 @@ jobs:
path: $(Build.ArtifactStagingDirectory)/download
artifact: common-lib.${{ parameters.arch }}
patterns: |
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libpcre3_*.deb
displayName: "Download libyang from common lib"
- script: |
Expand Down
3 changes: 2 additions & 1 deletion .azure-pipelines/docker-sonic-vs/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ COPY ["debs", "/debs"]
# same, even though contents have changed) are checked between the previous and current layer.
RUN dpkg --remove --force-all libswsscommon
RUN apt --fix-broken install -y
RUN dpkg --purge python3-swsscommon sonic-db-cli libsaimetadata libsairedis libsaivs syncd-vs swss sonic-eventd libdashapi
RUN dpkg --purge python3-swsscommon sonic-db-cli libsaimetadata libsairedis libsaivs syncd-vs swss sonic-eventd libdashapi libnexthopgroup

RUN apt-get update

Expand Down Expand Up @@ -44,6 +44,7 @@ RUN apt install -y /debs/libdashapi_1.0.0_amd64.deb \
/debs/libsairedis_1.0.0_amd64.deb \
/debs/libsaivs_1.0.0_amd64.deb \
/debs/syncd-vs_1.0.0_amd64.deb \
/debs/libnexthopgroup_1.0.0_amd64.deb \
/debs/swss_1.0.0_amd64.deb

RUN if [ "$need_dbg" = "y" ] ; then dpkg -i /debs/libsairedis-dbgsym_1.0.0_amd64.deb ; fi
Expand Down
27 changes: 18 additions & 9 deletions .azure-pipelines/test-docker-sonic-vs-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,8 @@ jobs:
path: $(Build.ArtifactStagingDirectory)/download
artifact: common-lib
patterns: |
target/debs/${{ parameters.debian_version }}/libyang-*_1.0*.deb
target/debs/${{ parameters.debian_version }}/libyang_1.0*.deb
target/debs/${{ parameters.debian_version }}/libyang-cpp_*.deb
target/debs/${{ parameters.debian_version }}/python3-yang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libyang-dev_3*.deb
displayName: "Download libyang from common lib"
- task: DownloadPipelineArtifact@2
inputs:
Expand Down Expand Up @@ -107,11 +105,22 @@ jobs:

sudo sonic-sairedis/.azure-pipelines/build_and_install_module.sh

# Install libyang packages from downloaded artifacts
sudo dpkg -i $(Build.ArtifactStagingDirectory)/download/target/debs/${{ parameters.debian_version }}/libyang-*_1.0*.deb \
$(Build.ArtifactStagingDirectory)/download/target/debs/${{ parameters.debian_version }}/libyang_1.0*.deb \
$(Build.ArtifactStagingDirectory)/download/target/debs/${{ parameters.debian_version }}/libyang-cpp_*.deb \
$(Build.ArtifactStagingDirectory)/download/target/debs/${{ parameters.debian_version }}/python3-yang_*.deb
# Install libyang packages from downloaded artifacts. Use apt rather
# than `dpkg -i` so libyang-dev's libpcre2-dev dep is auto-resolved
# from the host repos.
sudo apt-get install -y \
$(Build.ArtifactStagingDirectory)/download/target/debs/${{ parameters.debian_version }}/libyang3_*.deb \
$(Build.ArtifactStagingDirectory)/download/target/debs/${{ parameters.debian_version }}/libyang-dev_3*.deb

# python3-libyang's bookworm .deb pins python3 (>= 3.11~, << 3.12)
# and the sonictest pool host runs Ubuntu 22.04 (python 3.10), so the
# .deb won't install regardless of resolver. Build the Python bindings
# from PyPI instead — same fallback as the inline amd64/ubuntu-22.04
# job. --no-build-isolation + apt's python3-cffi sidesteps a cffi
# version-mismatch Exception that jammy's pip 22.0.2 build-isolation
# env otherwise triggers.
sudo apt-get install -y python3-cffi
sudo pip3 install --no-build-isolation 'libyang==3.3.0'

sudo apt install -y $(Build.ArtifactStagingDirectory)/download/libprotobuf*_amd64.deb $(Build.ArtifactStagingDirectory)/download/libprotobuf-lite*_amd64.deb $(Build.ArtifactStagingDirectory)/download/python3-protobuf*_amd64.deb
sudo apt install -y $(Build.ArtifactStagingDirectory)/download/libdashapi*.deb $(Build.ArtifactStagingDirectory)/download/libswsscommon_1.0.0_amd64.deb $(Build.ArtifactStagingDirectory)/download/python3-swsscommon_1.0.0_amd64.deb
Expand Down
Loading