forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'sonic-net:master' into master
- Loading branch information
Showing
9,480 changed files
with
1,461,634 additions
and
95,121 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
**/* | ||
!target/*.bin | ||
!target/*.log | ||
!target/*.img.gz | ||
!target/docker-sonic-vs.gz | ||
!target/docker-ptf.gz | ||
!target/debs/**/*.deb | ||
!target/debs/**/*.deb.log | ||
!target/debs/**/*.deb-install.log | ||
!target/python-wheels/*.whl | ||
!target/python-wheels/*.whl.log | ||
!target/python-wheels/*.whl-install.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Starter pipeline | ||
# Start with a minimal pipeline that you can customize to build and deploy your code. | ||
# Add steps that build, run tests, deploy, and more: | ||
# https://aka.ms/yaml | ||
|
||
trigger: none | ||
pr: none | ||
|
||
schedules: | ||
- cron: "0 0 * * *" | ||
displayName: Daily Build | ||
branches: | ||
include: | ||
- 202012 | ||
always: true | ||
|
||
pool: sonicbld | ||
|
||
stages: | ||
- stage: Build | ||
jobs: | ||
- template: azure-pipelines-build.yml | ||
parameters: | ||
buildOptions: 'SONIC_CONFIG_BUILD_JOBS=1 SONIC_VERSION_CONTROL_COMPONENTS=deb,py2,py3,web' | ||
postSteps: | ||
- script: | | ||
make freeze | ||
git status files/build/versions | ||
git add files/build/versions | ||
git diff HEAD files/build/versions | ||
displayName: "Show git diff" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
# Starter pipeline | ||
# Start with a minimal pipeline that you can customize to build and deploy your code. | ||
# Add steps that build, run tests, deploy, and more: | ||
# https://aka.ms/yaml | ||
|
||
trigger: none | ||
pr: none | ||
|
||
schedules: | ||
- cron: "0 0 * * *" | ||
displayName: Daily Build | ||
branches: | ||
include: | ||
- 20* | ||
exclude: | ||
- 200* | ||
- 201* | ||
- 202006 | ||
always: true | ||
|
||
resources: | ||
repositories: | ||
- repository: buildimage | ||
type: github | ||
name: sonic-net/sonic-buildimage | ||
ref: master | ||
endpoint: sonic-net | ||
|
||
pool: sonicbld | ||
|
||
parameters: | ||
- name: 'jobFilters' | ||
type: object | ||
default: | ||
- vs | ||
- barefoot | ||
- broadcom | ||
- centec | ||
- centec-arm64 | ||
- generic | ||
- marvell-armhf | ||
- mellanox | ||
|
||
stages: | ||
- stage: Prepare | ||
jobs: | ||
- job: Prepare | ||
steps: | ||
- script: | | ||
DEFAULT_MIRROR_URL_PREFIX=http://packages.trafficmanager.net | ||
DEBIAN_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian/latest/timestamp) | ||
DEBIAN_SECURITY_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian-security/latest/timestamp) | ||
echo "DEBIAN_TIMESTAMP=$DEBIAN_TIMESTAMP, DEBIAN_SECURITY_TIMESTAMP=$DEBIAN_SECURITY_TIMESTAMP" | ||
echo "##vso[task.setvariable variable=DEBIAN_TIMESTAMP;isOutput=true]$DEBIAN_TIMESTAMP" | ||
echo "##vso[task.setvariable variable=DEBIAN_SECURITY_TIMESTAMP;isOutput=true]$DEBIAN_SECURITY_TIMESTAMP" | ||
name: SetVersions | ||
displayName: 'Set snapshot versions' | ||
- stage: Build | ||
dependsOn: Prepare | ||
variables: | ||
- name: CACHE_MODE | ||
value: none | ||
- name: VERSION_CONTROL_OPTIONS | ||
value: 'SONIC_VERSION_CONTROL_COMPONENTS=' | ||
- name: SKIP_CHECKOUT | ||
value: true | ||
- name: DEBIAN_TIMESTAMP | ||
value: $[ stageDependencies.Prepare.Prepare.outputs['SetVersions.DEBIAN_TIMESTAMP'] ] | ||
- name: DEBIAN_SECURITY_TIMESTAMP | ||
value: $[ stageDependencies.Prepare.Prepare.outputs['SetVersions.DEBIAN_SECURITY_TIMESTAMP'] ] | ||
- template: .azure-pipelines/template-variables.yml@buildimage | ||
jobs: | ||
- template: azure-pipelines-build.yml | ||
parameters: | ||
jobFilters: ${{ parameters.jobFilters }} | ||
buildOptions: '${{ variables.VERSION_CONTROL_OPTIONS }} ENABLE_DOCKER_BASE_PULL=n SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y' | ||
preSteps: | ||
- template: .azure-pipelines/template-clean-sonic-slave.yml@buildimage | ||
- checkout: self | ||
submodules: recursive | ||
fetchDepth: 0 | ||
path: s | ||
displayName: 'Checkout code' | ||
- script: | | ||
echo "DEBIAN_TIMESTAMP=$DEBIAN_TIMESTAMP, DEBIAN_SECURITY_TIMESTAMP=$DEBIAN_SECURITY_TIMESTAMP" | ||
if [ "$MIRROR_SNAPSHOT" == y ]; then | ||
mkdir -p target/versions/default/ | ||
echo "debian==$DEBIAN_TIMESTAMP" > target/versions/default/versions-mirror | ||
echo "debian-security==$DEBIAN_SECURITY_TIMESTAMP" >> target/versions/default/versions-mirror | ||
cat target/versions/default/versions-mirror | ||
fi | ||
displayName: 'Set snapshot versions' | ||
- stage: UpgradeVersions | ||
jobs: | ||
- job: UpgradeVersions | ||
pool: | ||
vmImage: 'ubuntu-20.04' | ||
steps: | ||
- script: | | ||
if [ -z "$(which gh)" ]; then | ||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 | ||
sudo apt-add-repository https://cli.github.com/packages | ||
sudo apt update | ||
sudo apt install gh | ||
fi | ||
displayName: 'Install gh' | ||
- checkout: self | ||
displayName: 'Checkout code' | ||
- download: current | ||
patterns: '**/versions-*' | ||
- script: | | ||
mkdir -p target | ||
default_platform=broadcom | ||
artifacts=$(find $(Pipeline.Workspace) -maxdepth 1 -type d -name 'sonic-buildimage.*' | grep -v "sonic-buildimage.${default_platform}") | ||
echo "artifacts$artifacts" | ||
cp -r $(Pipeline.Workspace)/sonic-buildimage.${default_platform}/target/versions target/ | ||
make freeze FREEZE_VERSION_OPTIONS=-r | ||
find files/build/versions | ||
ordered_artifacts=$(echo "$artifacts" | grep -v -E "arm64|armhf" && echo "$artifacts" | grep -E "arm64|armhf") | ||
for artifact in $ordered_artifacts | ||
do | ||
rm -rf target/versions | ||
cp -r $artifact/target/versions target/ | ||
OPTIONS="-a -d" | ||
[[ "$artifact" == *arm64* || "$artifact" == *armhf* ]] && OPTIONS="-d" | ||
make freeze FREEZE_VERSION_OPTIONS="$OPTIONS" | ||
done | ||
git diff files/build/versions | ||
displayName: 'Freeze Versions' | ||
- script: | | ||
if [ -z "$GIT_USER" ]; then | ||
echo "Skipped to send the pull request, GIT_USER not set." | ||
exit 0 | ||
fi | ||
GIT_STATUS=$(git status --porcelain files/build/versions) | ||
if [ -z "$GIT_STATUS" ]; then | ||
echo "Skipped to send the pull request, no version change in files/build/versions" | ||
exit 0 | ||
fi | ||
if [ ! -d "$HOME" ]; then | ||
sudo mkdir -p $HOME | ||
sudo chown -R $(id -un):$(id -gn) $HOME | ||
fi | ||
SOURCE_BRANCH=$(Build.SourceBranch) | ||
REPO_NAME=$(Build.Repository.Name) | ||
[ -z "$GIT_REPO" ] && GIT_REPO=${REPO_NAME#*/} | ||
BRANCH_NAME=repd/versions/${SOURCE_BRANCH#refs/heads/} | ||
echo '#!/bin/bash' > git_env_password.sh | ||
echo 'echo $GIT_PASSWORD' >> git_env_password.sh | ||
chmod a+x git_env_password.sh | ||
export GIT_ASKPASS=./git_env_password.sh | ||
git config user.name $GIT_USER | ||
git config credential.https://github.saobby.my.eu.org.username $GIT_USER | ||
git add files/build/versions | ||
git commit -m "[ci/build]: Upgrade SONiC package versions" | ||
git checkout -b $BRANCH_NAME | ||
git remote add remote https://github.com/$GIT_USER/$GIT_REPO | ||
git push remote HEAD:refs/heads/$BRANCH_NAME -f | ||
git branch -u remote/$BRANCH_NAME | ||
echo $GIT_PASSWORD | gh auth login --with-token | ||
TITLE="Upgrade SONiC Versions" | ||
BODY="Upgrade SONiC Versions" | ||
RET=0 | ||
if ! gh pr create -t "$TITLE" -b "$BODY" -B $(Build.SourceBranch) -R $(Build.Repository.Name) > pr.log 2>&1; then | ||
if ! grep -q "already exists" pr.log; then | ||
RET=1 | ||
fi | ||
fi | ||
cat pr.log | ||
exit $RET | ||
env: | ||
GIT_USER: $(GIT_USER) | ||
GIT_PASSWORD: $(GIT_PASSWORD) | ||
displayName: 'Send Pull Request' | ||
- publish: $(System.DefaultWorkingDirectory)/files/build/versions | ||
artifact: 'sonic-buildimage.versions' | ||
displayName: 'Archive SONiC versions' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# 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" |
Oops, something went wrong.