diff --git a/.azure-pipelines/official-build-vs-with-test.yml b/.azure-pipelines/official-build-vs-with-test.yml new file mode 100644 index 00000000000..235c5931fba --- /dev/null +++ b/.azure-pipelines/official-build-vs-with-test.yml @@ -0,0 +1,151 @@ +# This pipeline generates daily, successful virtual SONiC images, primarily for PR testing in non-build repositories. + +name: $(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd) + +schedules: + - cron: "0 */8 * * *" # At 0 minutes past the hour, every 8 hours, every day UTC + displayName: "Daily Build and Test SONiC virtual images" + branches: + include: + - master + - 202305 + - 202311 + - 202405 + - 202411 + +trigger: none +pr: none + +resources: + repositories: + - repository: sonic-mgmt + type: github + name: sonic-net/sonic-mgmt + ref: master + endpoint: sonic-net + - repository: buildimage + type: github + name: sonic-net/sonic-buildimage + endpoint: sonic-net + ref: master + +variables: + - template: .azure-pipelines/template-variables.yml@buildimage + - name: BUILD_BRANCH + value: $(Build.SourceBranchName) + +stages: + - stage: BuildVS + pool: sonicbld-1es + jobs: + - template: azure-pipelines-build.yml + parameters: + buildOptions: 'USERNAME=admin SONIC_BUILD_JOBS=$(nproc) BUILD_MULTIASIC_KVM=y INCLUDE_DHCP_SERVER=y ${{ variables.VERSION_CONTROL_OPTIONS }}' + jobGroups: + - name: vs + + - stage: Test + dependsOn: BuildVS + condition: and(succeeded(), in(dependencies.BuildVS.result, 'Succeeded', 'SucceededWithIssues')) + variables: + - group: SONiC-Elastictest + + jobs: + - job: t0_elastictest + pool: sonic-ubuntu-1c + displayName: "kvmtest-t0 by Elastictest" + timeoutInMinutes: 240 + continueOnError: false + steps: + - template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt + parameters: + TOPOLOGY: t0 + MIN_WORKER: $(T0_INSTANCE_NUM) + MAX_WORKER: $(T0_INSTANCE_NUM) + MGMT_BRANCH: $(BUILD_BRANCH) + + - job: t0_2vlans_elastictest + pool: sonic-ubuntu-1c + displayName: "kvmtest-t0-2vlans by Elastictest" + timeoutInMinutes: 240 + continueOnError: false + steps: + - template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt + parameters: + TOPOLOGY: t0 + TEST_SET: t0-2vlans + MIN_WORKER: $(T0_2VLANS_INSTANCE_NUM) + MAX_WORKER: $(T0_2VLANS_INSTANCE_NUM) + MGMT_BRANCH: $(BUILD_BRANCH) + DEPLOY_MG_EXTRA_PARAMS: "-e vlan_config=two_vlan_a" + + - job: t1_lag_elastictest + pool: sonic-ubuntu-1c + displayName: "kvmtest-t1-lag by Elastictest" + timeoutInMinutes: 240 + continueOnError: false + steps: + - template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt + parameters: + TOPOLOGY: t1-lag + MIN_WORKER: $(T1_LAG_INSTANCE_NUM) + MAX_WORKER: $(T1_LAG_INSTANCE_NUM) + MGMT_BRANCH: $(BUILD_BRANCH) + + - job: multi_asic_elastictest + displayName: "kvmtest-multi-asic-t1-lag by Elastictest" + pool: sonic-ubuntu-1c + timeoutInMinutes: 240 + continueOnError: false + steps: + - template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt + parameters: + TOPOLOGY: t1-8-lag + TEST_SET: multi-asic-t1-lag + MIN_WORKER: $(MULTI_ASIC_INSTANCE_NUM) + MAX_WORKER: $(MULTI_ASIC_INSTANCE_NUM) + NUM_ASIC: 4 + MGMT_BRANCH: $(BUILD_BRANCH) + + - job: dualtor_elastictest + pool: sonic-ubuntu-1c + displayName: "kvmtest-dualtor-t0 by Elastictest" + timeoutInMinutes: 240 + continueOnError: false + steps: + - template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt + parameters: + TOPOLOGY: dualtor + MIN_WORKER: $(T0_DUALTOR_INSTANCE_NUM) + MAX_WORKER: $(T0_DUALTOR_INSTANCE_NUM) + MGMT_BRANCH: $(BUILD_BRANCH) + COMMON_EXTRA_PARAMS: "--disable_loganalyzer " + + - job: sonic_t0_elastictest + displayName: "kvmtest-t0-sonic by Elastictest" + pool: sonic-ubuntu-1c + timeoutInMinutes: 240 + continueOnError: false + steps: + - template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt + parameters: + TOPOLOGY: t0-64-32 + MIN_WORKER: $(T0_SONIC_INSTANCE_NUM) + MAX_WORKER: $(T0_SONIC_INSTANCE_NUM) + TEST_SET: t0-sonic + MGMT_BRANCH: $(BUILD_BRANCH) + COMMON_EXTRA_PARAMS: "--neighbor_type=sonic " + VM_TYPE: vsonic + + - job: dpu_elastictest + displayName: "kvmtest-dpu by Elastictest" + timeoutInMinutes: 240 + continueOnError: false + pool: sonic-ubuntu-1c + steps: + - template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt + parameters: + TOPOLOGY: dpu + MIN_WORKER: $(T0_SONIC_INSTANCE_NUM) + MAX_WORKER: $(T0_SONIC_INSTANCE_NUM) + MGMT_BRANCH: $(BUILD_BRANCH)