Skip to content

Commit 924c240

Browse files
committed
Refactor integration test conditions to improve branch logic handling and normalize output variable for DSC resource tests
1 parent 7ed6f43 commit 924c240

1 file changed

Lines changed: 25 additions & 23 deletions

File tree

azure-pipelines.yml

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -91,28 +91,30 @@ stages:
9191
inputs:
9292
targetType: 'inline'
9393
script: |
94-
# Set the target branch for comparison
95-
if ($env:SYSTEM_PULLREQUEST_TARGETBRANCH) {
94+
# Determine if we should run DSC resource integration tests based on branch logic
95+
$shouldRun = $false
96+
97+
if ($env:SYSTEM_PULLREQUEST_TARGETBRANCH)
98+
{
9699
$targetBranch = "origin/$env:SYSTEM_PULLREQUEST_TARGETBRANCH"
97-
} else {
98-
$targetBranch = "origin/$(defaultBranch)"
100+
Write-Host "Pull request detected, branch $targetBranch. Using script analysis to determine test requirements."
101+
$shouldRun = ./.build/Test-ShouldRunDscResourceIntegrationTests.ps1 -BaseBranch $targetBranch -CurrentBranch 'HEAD'
102+
}
103+
elseif ($env:BUILD.SOURCEBRANCHNAME) -eq '$(defaultBranch)'')
104+
{
105+
Write-Host "Target is default branch ($(defaultBranch)). Always running DSC resource integration tests."
106+
$shouldRun = $true
107+
}
108+
else
109+
{
110+
Write-Host "Target is non-default branch ($env:BUILD.SOURCEBRANCH). Using script analysis to determine test requirements against default branch."
111+
$shouldRun = ./.build/Test-ShouldRunDscResourceIntegrationTests.ps1 -BaseBranch 'origin/main' -CurrentBranch $env:BUILD.SOURCEBRANCH
99112
}
100-
101-
Write-Output "Target branch: $targetBranch"
102-
Write-Output "Current branch: HEAD"
103-
104-
# Run the script to determine if DSC resource integration tests should run
105-
$shouldRun = ./.build/Test-ShouldRunDscResourceIntegrationTests.ps1 -BaseBranch $targetBranch -CurrentBranch HEAD
106-
107-
# Debug: print computed value before exporting as output
108-
Write-Host "Computed ShouldRunDscResourceIntegrationTests: $shouldRun"
109-
110-
# Normalize to lowercase string so conditions can use a simple string comparison
111-
$shouldRunNormalized = ([string] $shouldRun).ToLower()
112-
Write-Host "Normalized ShouldRunDscResourceIntegrationTests: $shouldRunNormalized"
113113
114114
# Set Azure DevOps output variable for pipeline conditions
115-
Write-Host "##vso[task.setvariable variable=ShouldRunDscResourceIntegrationTests;isOutput=true]$shouldRunNormalized"
115+
Write-Host "##vso[task.setvariable variable=ShouldRunDscResourceIntegrationTests;isOutput=true]$shouldRun"
116+
117+
Write-Host "Variable ShouldRunDscResourceIntegrationTests is set to: $shouldRun"
116118
pwsh: true
117119

118120
- job: Test_HQRM
@@ -447,7 +449,7 @@ stages:
447449
condition: |
448450
and(
449451
succeeded(),
450-
eq(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests'], 'true')
452+
eq(lower(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests']), 'true')
451453
)
452454
jobs:
453455
- job: Test_Integration
@@ -545,7 +547,7 @@ stages:
545547
condition: |
546548
and(
547549
succeeded(),
548-
eq(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests'], 'true')
550+
eq(lower(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests']), 'true')
549551
)
550552
jobs:
551553
- job: Test_Integration
@@ -640,7 +642,7 @@ stages:
640642
condition: |
641643
and(
642644
succeeded(),
643-
eq(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests'], 'true')
645+
eq(lower(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests']), 'true')
644646
)
645647
jobs:
646648
- job: Test_Integration
@@ -716,7 +718,7 @@ stages:
716718
condition: |
717719
and(
718720
succeeded(),
719-
eq(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests'], 'true')
721+
eq(lower(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests']), 'true')
720722
)
721723
jobs:
722724
- job: Test_Integration
@@ -783,7 +785,7 @@ stages:
783785
condition: |
784786
and(
785787
succeeded(),
786-
eq(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests'], 'true')
788+
eq(lower(dependencies.Quality_Test_and_Unit_Test.outputs['Determine_DSC_Resource_Test_Requirements.determineDscResourceTests.ShouldRunDscResourceIntegrationTests']), 'true')
787789
)
788790
jobs:
789791
- job: Test_Integration

0 commit comments

Comments
 (0)