-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ci]: Add yaml for azure pipeline official build #6588
Changes from 31 commits
5298dff
2c43a47
b810f8e
de2310f
60144f2
32fb3aa
5faa2ad
1cce65d
607a100
a40428f
b9d1f9f
d76d876
486c8da
48d2733
5f33ba9
c564ca5
a47df6e
2a21fc1
8ffa54f
e615a71
4e7541d
1c8dd8a
0423ebf
6a47703
243cc3f
1d7790d
cb26972
d9fa028
eea9b3a
965d50a
307c888
8fdb258
8e11f3f
93dfbca
162958e
e799a2c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
parameters: | ||
- name: platform | ||
type: string | ||
values: | ||
- broadcom | ||
- mellanox | ||
- name: platform_short | ||
type: string | ||
values: | ||
- brcm | ||
- mlnx | ||
|
||
- name: cache_mode | ||
type: string | ||
values: | ||
- wcache | ||
- rcache | ||
- cache | ||
|
||
- name: dbg_image | ||
type: boolean | ||
|
||
- name: swi_image | ||
type: boolean | ||
|
||
- name: raw_image | ||
type: boolean | ||
|
||
- name: sync_rpc_image | ||
type: boolean | ||
|
||
jobs: | ||
- job: | ||
displayName: ${{ parameters.platform }} | ||
timeoutInMinutes: 600 | ||
steps: | ||
- template: cleanup.yml | ||
- checkout: self | ||
submodules: recursive | ||
displayName: 'Checkout code' | ||
- script: | | ||
git submodule foreach --recursive git clean -xfdf | ||
git submodule foreach --recursive git reset --hard | ||
git submodule update --init --recursive | ||
displayName: 'reset submodules' | ||
- script: | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How about to move the script from the template to the official.yml, only keep the most common part in the template, like init, checkout, publish, cleanup. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. each plat form write their own script. this will make yml file more different with each other, like current Jenkinsfiles. |
||
set -e | ||
sudo modprobe overlay | ||
liushilongbuaa marked this conversation as resolved.
Show resolved
Hide resolved
|
||
CACHE_OPTIONS="SONIC_DPKG_CACHE_METHOD=${{ parameters.cache_mode }} SONIC_DPKG_CACHE_SOURCE=/nfs/dpkg_cache/${{ parameters.platform }}" | ||
ENABLE_DOCKER_BASE_PULL=y make configure PLATFORM=${{ parameters.platform }} | ||
if [ ${{ parameters.dbg_image }} ];then | ||
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) INSTALL_DEBUG_TOOLS=y target/sonic-${{ parameters.platform }}.bin && \ | ||
mv target/sonic-${{ parameters.platform }}.bin target/sonic-${{ parameters.platform }}-dbg.bin | ||
fi | ||
if [ ${{ parameters.swi_image }} ];then | ||
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-${{ parameters.platform }}.swi | ||
fi | ||
if [ ${{ parameters.raw_image }} ];then | ||
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) target/sonic-${{ parameters.platform }}.raw | ||
fi | ||
if [ ${{ parameters.sync_rpc_image }} ];then | ||
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_SYNCD_RPC=y target/docker-syncd-${{ parameters.platform_short }}-rpc.gz | ||
fi | ||
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) target/sonic-${{ parameters.platform }}.bin | ||
sudo rm -rf fsroot || true | ||
displayName: 'Build sonic image' | ||
- publish: $(System.DefaultWorkingDirectory)/ | ||
artifact: sonic-buildimage.${{ parameters.platform }} | ||
displayName: "Archive sonic image" | ||
- template: cleanup.yml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
steps: | ||
- script: | | ||
sudo kill -9 `sudo cat /var/run/march/docker.pid` || true | ||
sudo rm -f /var/run/march/docker.pid || true | ||
sudo rm -rf target || true | ||
displayName: "Clean Workspace" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# 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 | ||
|
||
schedules: | ||
- cron: "0 8 * * *" | ||
displayName: Daily midnight build | ||
branches: | ||
include: | ||
- master | ||
always: true | ||
|
||
stages: | ||
- stage: Build | ||
pool: sonicbld | ||
|
||
jobs: | ||
- template: build-template.yml | ||
parameters: | ||
platform: broadcom | ||
platform_short: brcm | ||
cache_mode: cache | ||
dbg_image: true | ||
swi_image: true | ||
raw_image: true | ||
sync_rpc_image: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add clean=true in checkout, so this block can be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If fsroot exist, checkout with "clean=true" will fail because of permission.
Put clean steps together. Do cleaning job pre-build and post-build. This is more robust than build-in clean.