# The azure pipeline template for Official build, and upgrade version build parameters: - name: 'jobFilters' type: object default: '' - name: 'buildOptions' type: string default: 'SONIC_CONFIG_BUILD_JOBS=1' - name: 'preSteps' type: stepList default: [] - name: 'postSteps' type: stepList default: [] - name: 'jobGroups' type: object default: '' jobs: - template: azure-pipelines-image-template.yml parameters: jobFilters: ${{ parameters.jobFilters }} preSteps: ${{ parameters.preSteps }} postSteps: ${{ parameters.postSteps }} jobVariables: PLATFORM_AZP: $(GROUP_NAME) PLATFORM_ARCH: amd64 BUILD_NUMBER: $(Build.BuildId) BUILD_OPTIONS: ${{ parameters.buildOptions }} DOCKER_DATA_ROOT_FOR_MULTIARCH: /data/march/docker dbg_image: no swi_image: no raw_image: no docker_syncd_rpc_image: no syncd_rpc_image: no platform_rpc: no ${{ if ne(parameters.jobGroups, '') }}: jobGroups: ${{ parameters.jobGroups }} ${{ if eq(parameters.jobGroups, '') }}: jobGroups: - name: vs variables: dbg_image: yes - name: barefoot variables: docker_syncd_rpc_image: yes platform_rpc: bfn swi_image: yes - name: broadcom variables: dbg_image: yes swi_image: yes raw_image: yes docker_syncd_rpc_image: yes platform_rpc: brcm - name: centec variables: dbg_image: yes docker_syncd_rpc_image: yes platform_rpc: centec - name: centec-arm64 pool: sonicbld_8c timeoutInMinutes: 2160 variables: PLATFORM_ARCH: arm64 - name: generic variables: dbg_image: yes - name: innovium variables: dbg_image: yes - name: marvell-armhf pool: sonicbld_8c timeoutInMinutes: 2160 variables: PLATFORM_ARCH: armhf - name: mellanox variables: dbg_image: yes docker_syncd_rpc_image: yes syncd_rpc_image: yes platform_rpc: mlnx - name: nephos variables: dbg_image: yes docker_syncd_rpc_image: yes platform_rpc: nephos buildSteps: - bash: | set -ex if [ $(GROUP_NAME) == vs ]; then if [ $(dbg_image) == yes ]; then make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-vs.img.gz && mv target/sonic-vs.img.gz target/sonic-vs-dbg.img.gz fi make $BUILD_OPTIONS target/docker-sonic-vs.gz target/sonic-vs.img.gz target/docker-ptf.gz else if [ $(dbg_image) == yes ]; then make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-$(GROUP_NAME).bin && \ mv target/sonic-$(GROUP_NAME).bin target/sonic-$(GROUP_NAME)-dbg.bin fi if [ $(swi_image) == yes ]; then make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi fi if [ $(raw_image) == yes ]; then make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).raw fi if [ $(docker_syncd_rpc_image) == yes ]; then make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-rpc.gz fi 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 make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).bin fi displayName: "Build sonic image"