202dfb601d
Why I did it [Build]: Enable marvell-armhf PR check Improve the azp dependencies, make the Test stage only depended on BuildVS stage. The Test stage will be triggered once the BuildVS stage finished, reduce the waiting time.
65 lines
2.4 KiB
YAML
65 lines
2.4 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
|
|
condition: always()
|
|
- publish: $(Build.ArtifactStagingDirectory)
|
|
artifact: 'sonic-buildimage.$(GROUP_NAME)$(GROUP_EXTNAME)'
|
|
displayName: "Archive sonic image"
|
|
- publish: $(Build.ArtifactStagingDirectory)
|
|
condition: failed()
|
|
artifact: 'sonic-buildimage.$(GROUP_NAME)$(GROUP_EXTNAME)$(System.JobAttempt)'
|
|
displayName: "Archive failed sonic image"
|
|
- ${{ parameters.postSteps }}
|
|
- template: cleanup.yml
|
|
jobGroups: ${{ parameters.jobGroups }}
|
|
buildSteps: ${{ parameters.buildSteps }}
|