Skip to content

Commit

Permalink
[ci] Fix the boolean value case sensitive issue in Azure Pipelines (#…
Browse files Browse the repository at this point in the history
…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.
  • Loading branch information
xumia authored Apr 23, 2021
1 parent 38f65c8 commit 39d877c
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 59 deletions.
116 changes: 61 additions & 55 deletions .azure-pipelines/azure-pipelines-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ parameters:
- name: 'postSteps'
type: stepList
default: []
- name: 'jobGroups'
type: object
default: []

jobs:
- template: azure-pipelines-image-template.yml
Expand All @@ -25,75 +28,78 @@ jobs:
PLATFORM_ARCH: amd64
BUILD_OPTIONS: ${{ parameters.buildOptions }}
DOCKER_DATA_ROOT_FOR_MULTIARCH: /data/march/docker
dbg_image: false
swi_image: false
raw_image: false
sync_rpc_image: false
platform_rpc: false
jobGroups:
- name: vs
variables:
dbg_image: true
- name: barefoot
variables:
swi_image: true
- name: broadcom
variables:
dbg_image: true
swi_image: true
raw_image: true
sync_rpc_image: true
platform_rpc: brcm
- name: centec
variables:
dbg_image: true
sync_rpc_image: true
platform_rpc: centec
- name: centec-arm64
pool: sonicbld_8c
timeoutInMinutes: 1800
variables:
PLATFORM_ARCH: arm64
- name: generic
variables:
dbg_image: true
- name: innovium
variables:
swi_image: true
- name: marvell-armhf
pool: sonicbld_8c
timeoutInMinutes: 1800
variables:
PLATFORM_ARCH: armhf
- name: mellanox
variables:
dbg_image: true
sync_rpc_image: true
platform_rpc: mlnx
- name: nephos
variables:
dbg_image: true
sync_rpc_image: true
platform_rpc: nephos
dbg_image: no
swi_image: no
raw_image: no
sync_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:
swi_image: yes
- name: broadcom
variables:
dbg_image: yes
swi_image: yes
raw_image: yes
sync_rpc_image: yes
platform_rpc: brcm
- name: centec
variables:
dbg_image: yes
sync_rpc_image: yes
platform_rpc: centec
- name: centec-arm64
pool: sonicbld_8c
timeoutInMinutes: 1800
variables:
PLATFORM_ARCH: arm64
- name: generic
variables:
dbg_image: yes
- name: innovium
variables:
swi_image: yes
- name: marvell-armhf
pool: sonicbld_8c
timeoutInMinutes: 1800
variables:
PLATFORM_ARCH: armhf
- name: mellanox
variables:
dbg_image: yes
sync_rpc_image: yes
platform_rpc: mlnx
- name: nephos
variables:
dbg_image: yes
sync_rpc_image: yes
platform_rpc: nephos
buildSteps:
- bash: |
if [ $(GROUP_NAME) == vs ]; then
if [ $(dbg_image) == true ]; 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) == true ]; then
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) == true ]; then
if [ $(swi_image) == yes ]; then
make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi
fi
if [ $(raw_image) == true ]; then
if [ $(raw_image) == yes ]; then
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).raw
fi
if [ $(sync_rpc_image) == true ]; then
if [ $(sync_rpc_image) == yes ]; then
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-rpc.gz
fi
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).bin
Expand Down
8 changes: 4 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ stages:
- template: .azure-pipelines/azure-pipelines-build.yml
parameters:
buildOptions: 'USERNAME=admin SONIC_BUILD_JOBS=$(nproc) ${{ variables.VERSION_CONTROL_OPTIONS }}'
jobFilters:
- vs
- broadcom
- mellanox
jobGroups:
- name: vs
- name: broadcom
- name: mellanox

- stage: Test
variables:
Expand Down

0 comments on commit 39d877c

Please sign in to comment.