diff --git a/.azure-pipelines/pipelines.yml b/.azure-pipelines/pipelines.yml index ef0a3dc9efd61..30b1bc8959e77 100644 --- a/.azure-pipelines/pipelines.yml +++ b/.azure-pipelines/pipelines.yml @@ -469,10 +469,11 @@ stages: echo "checks complete" - stage: docker - dependsOn: ["linux_x64", "linux_arm64"] + dependsOn: ["env", "linux_x64", "linux_arm64"] jobs: - job: docker displayName: "linux multiarch" + condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true')) timeoutInMinutes: 120 pool: vmImage: "ubuntu-20.04" @@ -540,6 +541,19 @@ stages: timeoutInMinutes: 10 condition: always() + - job: linux + dependsOn: ["docker"] + pool: + vmImage: "ubuntu-20.04" + # This condition ensures that this (required) job passes if all of + # the preceeding jobs either pass or are skipped + # adapted from: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops#job-to-job-dependencies-within-one-stage + condition: in(dependencies.docker.result, 'Succeeded', 'SucceededWithIssues', 'Skipped') + steps: + - bash: | + echo "Docker linux built" + - stage: publish dependsOn: ["docker"] condition: and(succeeded(), eq(variables['PostSubmit'], true), ne(variables['NoSync'], true)) @@ -678,9 +692,10 @@ stages: MAINTAINER_GPG_KEY_PASSPHRASE: $(MaintainerGPGKeyPassphrase) - stage: verify - dependsOn: ["docker"] + dependsOn: ["env", "docker"] jobs: - job: examples + condition: and(not(canceled()), succeeded(), ne(stageDependencies.env.repo.outputs['changed.mobileOnly'], 'true'), ne(stageDependencies.env.repo.outputs['changed.docsOnly'], 'true')) pool: vmImage: "ubuntu-20.04" steps: @@ -695,6 +710,19 @@ stages: ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory) NO_BUILD_SETUP: 1 + - job: verified + dependsOn: ["examples"] + pool: + vmImage: "ubuntu-20.04" + # This condition ensures that this (required) job passes if all of + # the preceeding jobs either pass or are skipped + # adapted from: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops#job-to-job-dependencies-within-one-stage + condition: in(dependencies.examples.result, 'Succeeded', 'SucceededWithIssues', 'Skipped') + steps: + - bash: | + echo "examples verifiied" + - stage: macos dependsOn: ["precheck"] jobs: