2021-04-21 21:11:11 -05:00
|
|
|
# The azure pipeline template for Official build, and upgrade version build
|
|
|
|
|
2021-02-24 23:44:58 -06:00
|
|
|
parameters:
|
|
|
|
- name: 'jobFilters'
|
|
|
|
type: object
|
|
|
|
default: ''
|
|
|
|
- name: 'buildOptions'
|
|
|
|
type: string
|
|
|
|
default: 'SONIC_CONFIG_BUILD_JOBS=1'
|
2021-04-21 21:11:11 -05:00
|
|
|
- name: 'preSteps'
|
|
|
|
type: stepList
|
|
|
|
default: []
|
2021-02-24 23:44:58 -06:00
|
|
|
- name: 'postSteps'
|
|
|
|
type: stepList
|
|
|
|
default: []
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: 'jobGroups'
|
|
|
|
type: object
|
2021-04-22 23:56:09 -05:00
|
|
|
default: ''
|
2021-02-24 23:44:58 -06:00
|
|
|
|
|
|
|
jobs:
|
2021-04-21 21:11:11 -05:00
|
|
|
- template: azure-pipelines-image-template.yml
|
2021-02-24 23:44:58 -06:00
|
|
|
parameters:
|
|
|
|
jobFilters: ${{ parameters.jobFilters }}
|
2021-04-21 21:11:11 -05:00
|
|
|
preSteps: ${{ parameters.preSteps }}
|
|
|
|
postSteps: ${{ parameters.postSteps }}
|
|
|
|
jobVariables:
|
|
|
|
PLATFORM_AZP: $(GROUP_NAME)
|
|
|
|
PLATFORM_ARCH: amd64
|
2021-04-23 04:58:46 -05:00
|
|
|
BUILD_NUMBER: $(Build.BuildId)
|
2021-04-21 21:11:11 -05:00
|
|
|
BUILD_OPTIONS: ${{ parameters.buildOptions }}
|
|
|
|
DOCKER_DATA_ROOT_FOR_MULTIARCH: /data/march/docker
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
dbg_image: no
|
|
|
|
swi_image: no
|
|
|
|
raw_image: no
|
2021-06-21 01:12:25 -05:00
|
|
|
docker_syncd_rpc_image: no
|
|
|
|
syncd_rpc_image: no
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
platform_rpc: no
|
|
|
|
${{ if ne(parameters.jobGroups, '') }}:
|
|
|
|
jobGroups: ${{ parameters.jobGroups }}
|
|
|
|
${{ if eq(parameters.jobGroups, '') }}:
|
|
|
|
jobGroups:
|
|
|
|
- name: vs
|
|
|
|
variables:
|
|
|
|
dbg_image: yes
|
2021-05-03 14:31:52 -05:00
|
|
|
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: barefoot
|
|
|
|
variables:
|
2021-06-21 01:12:25 -05:00
|
|
|
docker_syncd_rpc_image: yes
|
2021-06-08 11:43:00 -05:00
|
|
|
platform_rpc: bfn
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
swi_image: yes
|
2021-05-03 14:31:52 -05:00
|
|
|
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: broadcom
|
|
|
|
variables:
|
|
|
|
dbg_image: yes
|
|
|
|
swi_image: yes
|
|
|
|
raw_image: yes
|
2021-06-21 01:12:25 -05:00
|
|
|
docker_syncd_rpc_image: yes
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
platform_rpc: brcm
|
2021-05-03 14:31:52 -05:00
|
|
|
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: centec
|
|
|
|
variables:
|
|
|
|
dbg_image: yes
|
2021-06-21 01:12:25 -05:00
|
|
|
docker_syncd_rpc_image: yes
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
platform_rpc: centec
|
2021-05-03 14:31:52 -05:00
|
|
|
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: centec-arm64
|
2021-10-25 18:26:48 -05:00
|
|
|
pool: sonicbld-arm64
|
2021-06-22 11:49:49 -05:00
|
|
|
timeoutInMinutes: 2880
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
variables:
|
|
|
|
PLATFORM_ARCH: arm64
|
2021-05-05 08:02:39 -05:00
|
|
|
BUILD_OPTIONS: ${{ parameters.buildOptions }} SONIC_VERSION_CONTROL_COMPONENTS=
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: generic
|
|
|
|
variables:
|
|
|
|
dbg_image: yes
|
2021-05-03 14:31:52 -05:00
|
|
|
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: innovium
|
|
|
|
variables:
|
2021-06-15 18:38:02 -05:00
|
|
|
dbg_image: yes
|
2021-05-03 14:31:52 -05:00
|
|
|
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: marvell-armhf
|
2021-10-25 09:38:18 -05:00
|
|
|
pool: sonicbld-armhf
|
2021-06-22 11:49:49 -05:00
|
|
|
timeoutInMinutes: 2880
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
variables:
|
|
|
|
PLATFORM_ARCH: armhf
|
2021-05-05 08:02:39 -05:00
|
|
|
BUILD_OPTIONS: ${{ parameters.buildOptions }} SONIC_VERSION_CONTROL_COMPONENTS=
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: mellanox
|
|
|
|
variables:
|
|
|
|
dbg_image: yes
|
2021-06-21 01:12:25 -05:00
|
|
|
docker_syncd_rpc_image: yes
|
|
|
|
syncd_rpc_image: yes
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
platform_rpc: mlnx
|
2021-05-03 14:31:52 -05:00
|
|
|
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
- name: nephos
|
|
|
|
variables:
|
|
|
|
dbg_image: yes
|
2021-06-30 05:25:55 -05:00
|
|
|
docker_syncd_rpc_image: no
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
platform_rpc: nephos
|
2021-05-03 14:31:52 -05:00
|
|
|
|
2021-04-21 21:11:11 -05:00
|
|
|
buildSteps:
|
|
|
|
- bash: |
|
2021-05-03 14:31:52 -05:00
|
|
|
set -ex
|
2021-04-21 21:11:11 -05:00
|
|
|
if [ $(GROUP_NAME) == vs ]; then
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
if [ $(dbg_image) == yes ]; then
|
2021-11-17 23:01:41 -06:00
|
|
|
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-vs.img.gz
|
|
|
|
mv target/sonic-vs.img.gz target/sonic-vs-dbg.img.gz
|
2021-04-21 21:11:11 -05:00
|
|
|
fi
|
|
|
|
make $BUILD_OPTIONS target/docker-sonic-vs.gz target/sonic-vs.img.gz target/docker-ptf.gz
|
2021-09-17 03:18:36 -05:00
|
|
|
if [ $(Build.Reason) != 'PullRequest' ];then
|
|
|
|
gzip -kd target/sonic-vs.img.gz
|
|
|
|
SONIC_RUN_CMDS="qemu-img convert target/sonic-vs.img -O vhdx -o subformat=dynamic target/sonic-vs.vhdx" make sonic-slave-run
|
|
|
|
rm target/sonic-vs.img
|
|
|
|
fi
|
2021-04-21 21:11:11 -05:00
|
|
|
else
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
if [ $(dbg_image) == yes ]; then
|
2021-11-17 23:01:41 -06:00
|
|
|
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-$(GROUP_NAME).bin
|
|
|
|
mv target/sonic-$(GROUP_NAME).bin target/sonic-$(GROUP_NAME)-dbg.bin
|
2021-04-21 21:11:11 -05:00
|
|
|
fi
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
if [ $(swi_image) == yes ]; then
|
2021-04-21 21:11:11 -05:00
|
|
|
make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi
|
|
|
|
fi
|
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#7399)
Why I did it
Fix the boolean value case sensitive issue in Azure Pipelines
When passing parameters to a template, the "true" or "false" will have case sensitive issue, it should be a type casting issue.
To fix it, we change the true/false to yes/no, to escape the trap.
Support to override the job groups in the template, so PR build has chance to use different build parameters, only build simple targets. For example, for broadcom, we only build target/sonic-broadcom.bin, the other images, such as swi, debug bin, etc, will not be built.
2021-04-22 20:26:16 -05:00
|
|
|
if [ $(raw_image) == yes ]; then
|
2021-04-21 21:11:11 -05:00
|
|
|
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).raw
|
|
|
|
fi
|
2021-06-21 01:12:25 -05:00
|
|
|
if [ $(docker_syncd_rpc_image) == yes ]; then
|
2021-04-21 21:11:11 -05:00
|
|
|
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-rpc.gz
|
|
|
|
fi
|
2021-06-21 01:12:25 -05:00
|
|
|
if [ $(syncd_rpc_image) == yes ]; then
|
|
|
|
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/sonic-$(GROUP_NAME).bin
|
|
|
|
mv target/sonic-mellanox.bin target/sonic-$(GROUP_NAME)-rpc.bin
|
|
|
|
fi
|
2021-04-21 21:11:11 -05:00
|
|
|
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).bin
|
|
|
|
fi
|
|
|
|
displayName: "Build sonic image"
|
2022-04-07 21:49:21 -05:00
|
|
|
- template: check-dirty-version.yml
|