diff --git a/eng/pipelines/templates/jobs/ci.tests.yml b/eng/pipelines/templates/jobs/ci.tests.yml index 1673e03bc..4a6cf0e4b 100644 --- a/eng/pipelines/templates/jobs/ci.tests.yml +++ b/eng/pipelines/templates/jobs/ci.tests.yml @@ -63,7 +63,7 @@ jobs: - job: ${{ parameters.DisplayName }}_${{ parameters.OSName }} displayName: ${{ parameters.DisplayName }} dependsOn: ${{ parameters.DependsOn }} - condition: and(succeededOrFailed(), ne(variables['Skip.Test'], 'true'), ne(${{ parameters.Matrix }}, '{}')) + condition: and(not(canceled()), ne(variables['Skip.Test'], 'true'), ne(${{ parameters.Matrix }}, '{}')) strategy: matrix: $[ ${{ parameters.Matrix }} ] maxParallel: 12 @@ -165,7 +165,7 @@ jobs: exit 0 displayName: Validate Clang Format - condition: and(succeededOrFailed(), eq(variables['CHECK_CLANG_FORMAT'], 1)) + condition: and(not(canceled()), eq(variables['CHECK_CLANG_FORMAT'], 1)) # Validate all the files are saved as ASCII only without a UTF-8 BOM. - bash: | @@ -190,7 +190,7 @@ jobs: exit $files_with_non_ascii displayName: Validate Characters are ASCII - condition: and(succeededOrFailed(), eq(variables['CHECK_ASCII_CHARACTERS'], 1)) + condition: and(not(canceled()), eq(variables['CHECK_ASCII_CHARACTERS'], 1)) - ${{ each artifact in parameters.Artifacts }}: - template: /eng/common/pipelines/templates/steps/set-test-pipeline-version.yml @@ -259,7 +259,7 @@ jobs: $ErrorActionPreference = 'SilentlyContinue' get-content test-proxy.log displayName: TestProxy Log - condition: and(succeededOrFailed(), contains(variables.CmakeArgs, 'BUILD_TESTING=ON'),ne('${{parameters.ServiceDirectory}}', 'template')) + condition: and(not(canceled()), contains(variables.CmakeArgs, 'BUILD_TESTING=ON'),ne('${{parameters.ServiceDirectory}}', 'template')) workingDirectory: $(Build.SourcesDirectory)/sdk/${{parameters.ServiceDirectory}} continueOnError: true @@ -272,7 +272,7 @@ jobs: mergeTestResults: true publishRunAttachments: true displayName: Publish test results - condition: succeededOrFailed() + condition: not(canceled()) - ${{ if eq(parameters.CoverageEnabled, true) }}: - pwsh: | @@ -290,14 +290,14 @@ jobs: $(ToolsDirectory)/reportgenerator "-reports:${{ parameters.CoverageReportPath }}" "-targetdir:." "-reporttypes:Cobertura" workingDirectory: build displayName: Generate Code Coverage Data - condition: and(succeededOrFailed(), eq(variables['CODE_COVERAGE'], 'enabled')) + condition: and(not(canceled()), eq(variables['CODE_COVERAGE'], 'enabled')) - task: PublishCodeCoverageResults@1 inputs: codeCoverageTool: Cobertura summaryFileLocation: '$(Build.SourcesDirectory)/**/Cobertura.xml' displayName: Publish Code Coverage to DevOps - condition: and(succeededOrFailed(), eq(variables['CODE_COVERAGE'], 'enabled')) + condition: and(not(canceled()), eq(variables['CODE_COVERAGE'], 'enabled')) - task: mspremier.BuildQualityChecks.QualityChecks-task.BuildQualityChecks@8 displayName: Check line coverage @@ -307,7 +307,7 @@ jobs: coverageType: line # Minimum baseline for line coverage coverageThreshold: ${{ parameters.LineCoverageTarget }} - condition: and(succeededOrFailed(), eq(variables['CODE_COVERAGE'], 'enabled'), eq(variables['Skip.LineCoverageEnforcement'], '')) + condition: and(not(canceled()), eq(variables['CODE_COVERAGE'], 'enabled'), eq(variables['Skip.LineCoverageEnforcement'], '')) - task: mspremier.BuildQualityChecks.QualityChecks-task.BuildQualityChecks@8 displayName: Check branch coverage @@ -317,7 +317,7 @@ jobs: coverageType: branches # Minimum baseline for branch coverage coverageThreshold: ${{ parameters.BranchCoverageTarget }} - condition: and(succeededOrFailed(), eq(variables['CODE_COVERAGE'], 'enabled'), eq(variables['Skip.BranchCoverageEnforcement'], '')) + condition: and(not(canceled()), eq(variables['CODE_COVERAGE'], 'enabled'), eq(variables['Skip.BranchCoverageEnforcement'], '')) - task: Powershell@2 inputs: diff --git a/eng/pipelines/templates/jobs/cmake-generate.tests.yml b/eng/pipelines/templates/jobs/cmake-generate.tests.yml index 0fc4395b1..ab7496184 100644 --- a/eng/pipelines/templates/jobs/cmake-generate.tests.yml +++ b/eng/pipelines/templates/jobs/cmake-generate.tests.yml @@ -41,7 +41,7 @@ jobs: timeoutInMinutes: ${{ parameters.TimeoutInMinutes }} condition: >- and( - succeededOrFailed(), + not(canceled()), ne(variables['Skip.CMakeGenerate'], 'true'), ne(${{ parameters.Matrix }}, '{}') ) diff --git a/eng/pipelines/templates/jobs/live.tests.yml b/eng/pipelines/templates/jobs/live.tests.yml index d5a6146e1..495641669 100644 --- a/eng/pipelines/templates/jobs/live.tests.yml +++ b/eng/pipelines/templates/jobs/live.tests.yml @@ -132,7 +132,7 @@ jobs: # Install apt dependencies (if appropriate) - bash: sudo apt install -y $(AptDependencies) retryCountOnTaskFailure: 10 - condition: and(succeededOrFailed(), ne(variables['AptDependencies'], '')) + condition: and(not(canceled()), ne(variables['AptDependencies'], '')) displayName: Install dependencies from apt - template: /eng/pipelines/templates/steps/vcpkg.yml @@ -143,7 +143,7 @@ jobs: displayName: Install coverage tools # CODE_COVERAGE variable is '' (do-not-generate) in all matrix but linux-gcc # It is 'enabled' by default on linux-gcc but it can be opt-out by each pipeline (disabled) - condition: and(succeededOrFailed(), ne(variables['CODE_COVERAGE'], 'disabled'), ne(variables['CODE_COVERAGE'], '')) + condition: and(not(canceled()), ne(variables['CODE_COVERAGE'], 'disabled'), ne(variables['CODE_COVERAGE'], '')) - template: /eng/pipelines/templates/steps/cmake-build.yml parameters: @@ -235,7 +235,7 @@ jobs: publishRunAttachments: true displayName: Publish test results # this step only makes sense when ctest has run - condition: and(succeededOrFailed(), ne(variables['RunSamples'], '1')) + condition: and(not(canceled()), ne(variables['RunSamples'], '1')) - ${{ if parameters.UseFederatedAuth }}: @@ -316,7 +316,7 @@ jobs: codeCoverageTool: Cobertura summaryFileLocation: '$(Build.SourcesDirectory)/**/Cobertura.xml' displayName: Publish Code Coverage to DevOps - condition: and(succeededOrFailed(), ne(variables['CODE_COVERAGE'], 'disabled'), ne(variables['CODE_COVERAGE'], '')) + condition: and(not(canceled()), ne(variables['CODE_COVERAGE'], 'disabled'), ne(variables['CODE_COVERAGE'], '')) - template: /eng/common/TestResources/remove-test-resources.yml parameters: diff --git a/eng/pipelines/templates/stages/archetype-cpp-release.yml b/eng/pipelines/templates/stages/archetype-cpp-release.yml index f24e823e9..e60d90f78 100644 --- a/eng/pipelines/templates/stages/archetype-cpp-release.yml +++ b/eng/pipelines/templates/stages/archetype-cpp-release.yml @@ -290,7 +290,7 @@ stages: dependsOn: ${{ parameters.IntegrationDependsOn }} condition: >- and( - succeededOrFailed(), + not(canceled()), or( eq(variables['PublishDailyVcpkg'], 'true'), eq(variables['Build.Reason'],'Schedule') diff --git a/eng/pipelines/templates/steps/generate-and-publish-sbom.yml b/eng/pipelines/templates/steps/generate-and-publish-sbom.yml index e1b7f4609..8131d57be 100644 --- a/eng/pipelines/templates/steps/generate-and-publish-sbom.yml +++ b/eng/pipelines/templates/steps/generate-and-publish-sbom.yml @@ -10,7 +10,7 @@ steps: - task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0 displayName: 'Generate BOM' - condition: succeededOrFailed() + condition: not(canceled()) inputs: BuildDropPath: ${{ parameters.BuildDropPath }}