Skip to content

Commit 4cf6617

Browse files
authored
[ci]: add build for arm64 and armhf (sonic-net#1572)
* [ci]: add build for arm64 and armhf Signed-off-by: Guohan Lu <lguohan@gmail.com>
1 parent 6ebc0ed commit 4cf6617

File tree

1 file changed

+122
-0
lines changed

1 file changed

+122
-0
lines changed

azure-pipelines.yml

+122
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,125 @@ jobs:
6969
- publish: $(System.DefaultWorkingDirectory)/
7070
artifact: sonic-swss
7171
displayName: "Archive swss debian packages"
72+
73+
- job:
74+
displayName: "arm64"
75+
timeoutInMinutes: 180
76+
pool: sonic
77+
78+
container:
79+
image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster-arm64:latest
80+
81+
steps:
82+
- script: |
83+
sudo apt-get install -y libhiredis0.14 libhiredis-dev
84+
sudo apt-get install -y libzmq5 libzmq3-dev
85+
sudo apt-get install -qq -y \
86+
libhiredis-dev \
87+
libnl-3-dev \
88+
libnl-genl-3-dev \
89+
libnl-route-3-dev \
90+
libnl-nf-3-dev \
91+
swig3.0
92+
sudo apt-get install -y libdbus-1-3
93+
sudo apt-get install -y libteam-dev \
94+
libteam5 \
95+
libteamdctl0
96+
displayName: "Install dependencies"
97+
- task: DownloadPipelineArtifact@2
98+
inputs:
99+
source: specific
100+
project: build
101+
pipeline: 9
102+
artifacts: sonic-swss-common.arm64
103+
displayName: "Download sonic swss common deb packages"
104+
- task: DownloadPipelineArtifact@2
105+
inputs:
106+
source: specific
107+
project: build
108+
pipeline: 12
109+
artifacts: sonic-sairedis.arm64
110+
displayName: "Download sonic sairedis deb packages"
111+
- script: |
112+
sudo dpkg -i sonic-swss-common.arm64/libswsscommon_1.0.0_arm64.deb
113+
sudo dpkg -i sonic-swss-common.arm64/libswsscommon-dev_1.0.0_arm64.deb
114+
sudo dpkg -i sonic-sairedis.arm64/libsaivs_*.deb
115+
sudo dpkg -i sonic-sairedis.arm64/libsaivs-dev_*.deb
116+
sudo dpkg -i sonic-sairedis.arm64/libsairedis_*.deb
117+
sudo dpkg -i sonic-sairedis.arm64/libsairedis-dev_*.deb
118+
sudo dpkg -i sonic-sairedis.arm64/libsaimetadata_*.deb
119+
sudo dpkg -i sonic-sairedis.arm64/libsaimetadata-dev_*.deb
120+
sudo dpkg -i sonic-sairedis.arm64/syncd-vs_*.deb
121+
workingDirectory: $(Pipeline.Workspace)
122+
displayName: "Install sonic swss common and sairedis"
123+
- checkout: self
124+
submodules: true
125+
- script: |
126+
./autogen.sh
127+
dpkg-buildpackage -us -uc -b -j$(nproc)
128+
cp ../*.deb .
129+
displayName: "Compile sonic swss"
130+
- publish: $(System.DefaultWorkingDirectory)/
131+
artifact: sonic-swss.arm64
132+
displayName: "Archive swss debian packages"
133+
134+
- job:
135+
displayName: "armhf"
136+
timeoutInMinutes: 180
137+
pool: sonic
138+
139+
container:
140+
image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster-armhf:latest
141+
142+
steps:
143+
- script: |
144+
sudo apt-get install -y libhiredis0.14 libhiredis-dev
145+
sudo apt-get install -y libzmq5 libzmq3-dev
146+
sudo apt-get install -qq -y \
147+
libhiredis-dev \
148+
libnl-3-dev \
149+
libnl-genl-3-dev \
150+
libnl-route-3-dev \
151+
libnl-nf-3-dev \
152+
swig3.0
153+
sudo apt-get install -y libdbus-1-3
154+
sudo apt-get install -y libteam-dev \
155+
libteam5 \
156+
libteamdctl0
157+
displayName: "Install dependencies"
158+
- task: DownloadPipelineArtifact@2
159+
inputs:
160+
source: specific
161+
project: build
162+
pipeline: 9
163+
artifacts: sonic-swss-common.armhf
164+
displayName: "Download sonic swss common deb packages"
165+
- task: DownloadPipelineArtifact@2
166+
inputs:
167+
source: specific
168+
project: build
169+
pipeline: 12
170+
artifacts: sonic-sairedis.armhf
171+
displayName: "Download sonic sairedis deb packages"
172+
- script: |
173+
sudo dpkg -i sonic-swss-common.armhf/libswsscommon_1.0.0_armhf.deb
174+
sudo dpkg -i sonic-swss-common.armhf/libswsscommon-dev_1.0.0_armhf.deb
175+
sudo dpkg -i sonic-sairedis.armhf/libsaivs_*.deb
176+
sudo dpkg -i sonic-sairedis.armhf/libsaivs-dev_*.deb
177+
sudo dpkg -i sonic-sairedis.armhf/libsairedis_*.deb
178+
sudo dpkg -i sonic-sairedis.armhf/libsairedis-dev_*.deb
179+
sudo dpkg -i sonic-sairedis.armhf/libsaimetadata_*.deb
180+
sudo dpkg -i sonic-sairedis.armhf/libsaimetadata-dev_*.deb
181+
sudo dpkg -i sonic-sairedis.armhf/syncd-vs_*.deb
182+
workingDirectory: $(Pipeline.Workspace)
183+
displayName: "Install sonic swss common and sairedis"
184+
- checkout: self
185+
submodules: true
186+
- script: |
187+
./autogen.sh
188+
dpkg-buildpackage -us -uc -b -j$(nproc)
189+
cp ../*.deb .
190+
displayName: "Compile sonic swss"
191+
- publish: $(System.DefaultWorkingDirectory)/
192+
artifact: sonic-swss.armhf
193+
displayName: "Archive swss debian packages"

0 commit comments

Comments
 (0)