# Starter pipeline # Start with a minimal pipeline that you can customize to build and deploy your code. # Add steps that build, run tests, deploy, and more: # https://aka.ms/yaml trigger: - main name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r) resources: repositories: - repository: sonic-mgmt type: github name: Azure/sonic-mgmt endpoint: build stages: - stage: Build pool: sonicbld variables: CACHE_MODE: rcache ${{ if eq(variables['Build.SourceBranchName'], '202012') }}: VERSION_CONTROL_OPTIONS: 'SONIC_VERSION_CONTROL_COMPONENTS=deb,py2,py3,web' jobs: - template: .azure-pipelines/azure-pipelines-build.yml parameters: buildOptions: 'USERNAME=admin SONIC_BUILD_JOBS=$(nproc) ${{ variables.VERSION_CONTROL_OPTIONS }}' jobFilters: - vs - broadcom - mellanox - stage: Test variables: - name: inventory value: veos_vtb - name: testbed_file value: vtestbed.csv jobs: - job: displayName: "broadcom" timeoutInMinutes: 600 steps: - checkout: self submodules: recursive displayName: 'Checkout code' - script: | git submodule foreach --recursive git clean -xfdf git submodule foreach --recursive git reset --hard git submodule update --init --recursive displayName: 'reset submodules' - script: | set -ex sudo modprobe overlay ENABLE_DOCKER_BASE_PULL=y make configure PLATFORM=broadcom trap "sudo rm -rf fsroot" EXIT make USERNAME=admin SONIC_BUILD_JOBS=$(nproc) target/sonic-broadcom.bin displayName: 'Build sonic image' - publish: $(System.DefaultWorkingDirectory)/ artifact: sonic-buildimage.broadcom.201811 displayName: "Archive sonic image" - job: displayName: "mellanox" timeoutInMinutes: 600 steps: - checkout: self submodules: recursive displayName: 'Checkout code' - script: | git submodule foreach --recursive git clean -xfdf git submodule foreach --recursive git reset --hard git submodule update --init --recursive displayName: 'reset submodules' - script: | set -ex sudo modprobe overlay ENABLE_DOCKER_BASE_PULL=y make configure PLATFORM=mellanox trap "sudo rm -rf fsroot" EXIT make USERNAME=admin SONIC_BUILD_JOBS=$(nproc) $CACHE_OPTIONS target/sonic-mellanox.bin displayName: 'Build sonic image' - publish: $(System.DefaultWorkingDirectory)/ artifact: sonic-buildimage.mellanox.201811 displayName: "Archive sonic image" - job: displayName: "kvm" timeoutInMinutes: 600 steps: - checkout: self submodules: recursive displayName: 'Checkout code' - script: | git submodule foreach --recursive git clean -xfdf git submodule foreach --recursive git reset --hard git submodule update --init --recursive displayName: 'reset submodules' - script: | set -ex sudo modprobe overlay ENABLE_DOCKER_BASE_PULL=y make configure PLATFORM=vs trap "sudo rm -rf fsroot" EXIT make USERNAME=admin SONIC_BUILD_JOBS=$(nproc) \ target/docker-sonic-vs.gz target/sonic-vs.img.gz && \ sudo cp target/sonic-vs.img.gz /nfs/azpl/kvmimage/sonic-vs.$(Build.BuildNumber).img.gz displayName: 'Build sonic image' - publish: $(System.DefaultWorkingDirectory)/ artifact: sonic-buildimage.kvm.201811 displayName: "Archive sonic image"