2f8994999b
Why I did it For the DASH scenario, the APP_DB will be optimized by protobuf message for less memory consumption. How I did it Download the Debian package of protobuf 3.21.12 and create a corresponding rule for building it. Add a submodule of sonic-dash-api and generated its Debian package which includes C++ library and Python library How to verify it Check artifacts of Azp that the protobuf-related and dash-api deb packages should be generated. Signed-off-by: Ze Gan <ganze718@gmail.com>
56 lines
2.2 KiB
YAML
56 lines
2.2 KiB
YAML
# C/C++ with GCC
|
|
# Build your C/C++ project with GCC using make.
|
|
# Add steps that publish test results, save build artifacts, deploy, and more:
|
|
# https://docs.microsoft.com/azure/devops/pipelines/apps/c-cpp/gcc
|
|
pr: none
|
|
|
|
trigger:
|
|
batch: true
|
|
branches:
|
|
include:
|
|
- master
|
|
|
|
stages:
|
|
- stage: Build
|
|
|
|
jobs:
|
|
- job:
|
|
displayName: "amd64/ubuntu-20.04"
|
|
pool:
|
|
vmImage: 'ubuntu-20.04'
|
|
|
|
steps:
|
|
- checkout: self
|
|
submodules: true
|
|
- script: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y make wget libtool m4 autoconf dh-exec libdebhelper-perl=13.6ubuntu1~bpo20.04.1 debhelper=13.6ubuntu1~bpo20.04.1 \
|
|
cmake pkg-config python3-pip python cmake libgtest-dev libgmock-dev libyang-dev \
|
|
debhelper-compat dh-elpa dh-sequence-python3 python3-all \
|
|
libpython3-all-dev python3-six xmlto unzip rake-compiler gem2deb pkg-php-tools \
|
|
ant default-jdk maven-repo-helper libguava-java
|
|
wget http://ftp.us.debian.org/debian/pool/main/libg/libgoogle-gson-java/libgoogle-gson-java_2.8.6-1+deb11u1_all.deb
|
|
sudo dpkg -i libgoogle-gson-java_2.8.6-1+deb11u1_all.deb
|
|
mkdir -p /tmp/artifacts
|
|
displayName: "Install dependencies"
|
|
- script: |
|
|
SONIC_CONFIG_MAKE_JOBS=$(nproc) CONFIGURED_ARCH=amd64 DEST=/tmp/artifacts make -f ../rules/protobuf.mk -f protobuf/Makefile
|
|
workingDirectory: src
|
|
displayName: "Build protobuf"
|
|
- script: |
|
|
sudo dpkg -i protobuf-compiler_3.21.12-3_amd64.deb libprotoc32_3.21.12-3_amd64.deb \
|
|
libprotobuf32_3.21.12-3_amd64.deb libprotobuf-dev_3.21.12-3_amd64.deb \
|
|
libprotobuf-lite32_3.21.12-3_amd64.deb
|
|
workingDirectory: /tmp/artifacts
|
|
displayName: "Install protobuf"
|
|
- script: |
|
|
dpkg-buildpackage -rfakeroot -b -us -uc
|
|
workingDirectory: src/sonic-dash-api
|
|
displayName: "Build sonic-dash-api"
|
|
- script: |
|
|
cp *.deb /tmp/artifacts
|
|
workingDirectory: src
|
|
- publish: /tmp/artifacts
|
|
artifact: sonic-buildimage.amd64.ubuntu20_04
|
|
displayName: "Archive sonic-buildimage debian packages for ubuntu20.04"
|