05351731d5
Support marvell-armhf dpkg cache and the azp check. Waiting for merging PR #9381 to 202012 branch, so only azp template change in this PR. Move the VS build to a new stage BuildVS, change the Test stage only depending on BuildVS, running the BuildVS and the other platform's build in parallel. The Test stage do not has dependency on the marvel-armhf build, reduce the overall build time caused by longer build time of marvel-armhf build.
60 lines
2.2 KiB
YAML
60 lines
2.2 KiB
YAML
# The azure pipeline template for PR build, Official build, and upgrade version build
|
|
|
|
parameters:
|
|
- name: 'jobFilters'
|
|
type: object
|
|
default: ''
|
|
- name: 'preSteps'
|
|
type: stepList
|
|
default: []
|
|
- name: 'buildSteps'
|
|
type: stepList
|
|
default: []
|
|
- name: 'postSteps'
|
|
type: stepList
|
|
default: []
|
|
- name: jobGroups
|
|
type: object
|
|
default: []
|
|
- name: jobVariables
|
|
type: object
|
|
default: []
|
|
jobs:
|
|
- template: azure-pipelines-job-groups.yml
|
|
parameters:
|
|
jobFilters: ${{ parameters.jobFilters }}
|
|
jobVariables: ${{ parameters.jobVariables }}
|
|
preSteps:
|
|
- template: cleanup.yml
|
|
- ${{ parameters.preSteps }}
|
|
- script: |
|
|
if [ -n "$(CACHE_MODE)" ] && echo $(PLATFORM_AZP) | grep -E -q "^(vs|broadcom|mellanox|marvell-armhf)$"; then
|
|
CACHE_OPTIONS="SONIC_DPKG_CACHE_METHOD=$(CACHE_MODE) SONIC_DPKG_CACHE_SOURCE=/nfs/dpkg_cache/$(PLATFORM_AZP)"
|
|
BUILD_OPTIONS="$(BUILD_OPTIONS) $CACHE_OPTIONS"
|
|
echo "##vso[task.setvariable variable=BUILD_OPTIONS]$BUILD_OPTIONS"
|
|
fi
|
|
displayName: "Set cache options"
|
|
- checkout: self
|
|
submodules: recursive
|
|
condition: eq(variables.SKIP_CHECKOUT, '')
|
|
displayName: 'Checkout code'
|
|
- script: |
|
|
BRANCH_NAME=$(Build.SourceBranchName)
|
|
[ -n "$SYSTEM_PULLREQUEST_PULLREQUESTID" ] && BRANCH_NAME="$SYSTEM_PULLREQUEST_TARGETBRANCH-$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER"
|
|
git checkout -b $BRANCH_NAME
|
|
sudo modprobe overlay
|
|
sudo apt-get install -y acl
|
|
sudo bash -c "echo 1 > /proc/sys/vm/compact_memory"
|
|
ENABLE_DOCKER_BASE_PULL=y make PLATFORM=$(PLATFORM_AZP) PLATFORM_ARCH=$(PLATFORM_ARCH) $(BUILD_OPTIONS) configure
|
|
displayName: 'Make configure'
|
|
postSteps:
|
|
- script: cp target -r $(Build.ArtifactStagingDirectory)/
|
|
displayName: Copy Artifacts
|
|
- publish: $(Build.ArtifactStagingDirectory)
|
|
artifact: 'sonic-buildimage.$(GROUP_NAME)$(GROUP_EXTNAME)'
|
|
displayName: "Archive sonic image"
|
|
- ${{ parameters.postSteps }}
|
|
- template: cleanup.yml
|
|
jobGroups: ${{ parameters.jobGroups }}
|
|
buildSteps: ${{ parameters.buildSteps }}
|