Skip to content

Commit 754849a

Browse files
authored
CI: add azure pipeline CI/CD (sonic-net#754)
* CI: add azure pipeline CI/CD Signed-off-by: Guohan Lu <[email protected]>
1 parent a3095b8 commit 754849a

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

.artifactignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
**/*
2+
!*.deb

azure-pipelines.yml

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Starter pipeline
2+
# Start with a minimal pipeline that you can customize to build and deploy your code.
3+
# Add steps that build, run tests, deploy, and more:
4+
# https://aka.ms/yaml
5+
6+
trigger:
7+
branches:
8+
include:
9+
- "*"
10+
11+
pool:
12+
vmImage: 'ubuntu-latest'
13+
14+
container:
15+
image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster:latest
16+
17+
steps:
18+
- script: |
19+
sudo apt-get install -qq -y \
20+
qtbase5-dev \
21+
libdbus-glib-1-2 \
22+
libdbus-glib-1-dev \
23+
libpcsclite-dev \
24+
docbook-to-man \
25+
docbook-utils \
26+
aspell-en \
27+
libhiredis0.14 \
28+
libhiredis-dev \
29+
libnl-3-dev \
30+
libnl-genl-3-dev \
31+
libnl-route-3-dev \
32+
libnl-nf-3-dev \
33+
libnl-cli-3-dev \
34+
swig3.0 \
35+
libpython2.7-dev \
36+
libzmq5 libzmq3-dev \
37+
libboost-all-dev
38+
39+
sudo apt-get install -y redis-server
40+
sudo sed -ri 's/^# unixsocket/unixsocket/' /etc/redis/redis.conf
41+
sudo sed -ri 's/^unixsocketperm .../unixsocketperm 777/' /etc/redis/redis.conf
42+
sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf
43+
sudo service redis-server start
44+
45+
sudo apt-get install -y rsyslog
46+
sudo service rsyslog start
47+
48+
displayName: "Install dependencies"
49+
- task: DownloadPipelineArtifact@2
50+
inputs:
51+
source: specific
52+
project: build
53+
pipeline: 9
54+
artifacts: sonic-swss-common
55+
displayName: "Download sonic swss common deb packages"
56+
- script: |
57+
sudo dpkg -i sonic-swss-common/libswsscommon_1.0.0_amd64.deb
58+
sudo dpkg -i sonic-swss-common/libswsscommon-dev_1.0.0_amd64.deb
59+
workingDirectory: $(Pipeline.Workspace)
60+
displayName: "Install sonic swss Common"
61+
- checkout: self
62+
submodules: true
63+
- script: |
64+
./autogen.sh
65+
fakeroot dpkg-buildpackage -b -us -uc -Tbinary-syncd-vs
66+
cp ../*.deb .
67+
displayName: "Compile sonic sairedis"
68+
- script: |
69+
make check
70+
displayName: "Run sonic sairedis unit tests"
71+
- publish: $(System.DefaultWorkingDirectory)/
72+
artifact: sonic-sairedis
73+
displayName: "Archive sonic sairedis debian packages"

0 commit comments

Comments
 (0)