Skip to content

Commit 47d7327

Browse files
authored
Break Phase 2 into distinct Phase 2a, 2b, and 2c workflow steps
1 parent d02ed0a commit 47d7327

1 file changed

Lines changed: 56 additions & 6 deletions

File tree

.github/workflows/integration-test.yml

Lines changed: 56 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ jobs:
171171
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
172172
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
173173

174-
- name: Run Round-Trip Phase 2 (Extract→Publish→Verify)
174+
- name: Run Round-Trip Phase 2a (Extract)
175175
if: success()
176176
shell: pwsh
177177
env:
@@ -187,24 +187,74 @@ jobs:
187187
$sourceSubId = '${{ secrets.SOURCE_SUBSCRIPTION_ID }}'
188188
if ([string]::IsNullOrWhiteSpace($sourceSubId)) { $sourceSubId = '${{ secrets.AZURE_SUBSCRIPTION_ID }}' }
189189
190-
$targetSubId = '${{ secrets.TARGET_SUBSCRIPTION_ID }}'
191-
if ([string]::IsNullOrWhiteSpace($targetSubId)) { $targetSubId = '${{ secrets.AZURE_SUBSCRIPTION_ID }}' }
192-
193190
$skuName = '${{ secrets.APIM_SKU }}'
194191
if ([string]::IsNullOrWhiteSpace($skuName)) { $skuName = '${{ inputs.sku }}' }
195192
if ([string]::IsNullOrWhiteSpace($skuName)) { $skuName = 'StandardV2' }
196193
197-
./tests/integration/all-resource-types/run-roundtrip-phase2-roundtrip.ps1 `
194+
./tests/integration/all-resource-types/run-roundtrip-phase2a-extract.ps1 `
198195
-SourceSubscriptionId $sourceSubId `
199196
-SourceResourceGroup '${{ env.SOURCE_RG }}' `
200197
-SourceApimName '${{ env.SOURCE_APIM }}' `
198+
-SkuName $skuName `
199+
-LogLevel $logLevel `
200+
-ExtractOutputDir './extracted-artifacts'
201+
$extractExitCode = $LASTEXITCODE
202+
if ($extractExitCode -ge 2) {
203+
exit $extractExitCode
204+
}
205+
if ($extractExitCode -ne 0) {
206+
Write-Host "::warning::Phase 2a validation warnings (exit $extractExitCode) — continuing round-trip"
207+
}
208+
exit 0
209+
210+
- name: Run Round-Trip Phase 2b (Publish)
211+
if: success()
212+
shell: pwsh
213+
env:
214+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
215+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
216+
run: |
217+
$logLevel = '${{ inputs.log_level }}'
218+
if ([string]::IsNullOrWhiteSpace($logLevel)) { $logLevel = 'Verbose' }
219+
if ($logLevel -notin @('Info', 'Verbose', 'Debug')) {
220+
throw "Invalid log_level '$logLevel'. Allowed values: Info, Verbose, Debug."
221+
}
222+
223+
$targetSubId = '${{ secrets.TARGET_SUBSCRIPTION_ID }}'
224+
if ([string]::IsNullOrWhiteSpace($targetSubId)) { $targetSubId = '${{ secrets.AZURE_SUBSCRIPTION_ID }}' }
225+
226+
./tests/integration/all-resource-types/run-roundtrip-phase2b-publish.ps1 `
201227
-TargetSubscriptionId $targetSubId `
202228
-TargetResourceGroup '${{ env.TARGET_RG }}' `
203229
-TargetApimName '${{ env.TARGET_APIM }}' `
204-
-SkuName $skuName `
205230
-LogLevel $logLevel `
206231
-ExtractOutputDir './extracted-artifacts'
207232
233+
- name: Run Round-Trip Phase 2c (Compare)
234+
if: success()
235+
shell: pwsh
236+
run: |
237+
$logLevel = '${{ inputs.log_level }}'
238+
if ([string]::IsNullOrWhiteSpace($logLevel)) { $logLevel = 'Verbose' }
239+
if ($logLevel -notin @('Info', 'Verbose', 'Debug')) {
240+
throw "Invalid log_level '$logLevel'. Allowed values: Info, Verbose, Debug."
241+
}
242+
243+
$sourceSubId = '${{ secrets.SOURCE_SUBSCRIPTION_ID }}'
244+
if ([string]::IsNullOrWhiteSpace($sourceSubId)) { $sourceSubId = '${{ secrets.AZURE_SUBSCRIPTION_ID }}' }
245+
246+
$targetSubId = '${{ secrets.TARGET_SUBSCRIPTION_ID }}'
247+
if ([string]::IsNullOrWhiteSpace($targetSubId)) { $targetSubId = '${{ secrets.AZURE_SUBSCRIPTION_ID }}' }
248+
249+
./tests/integration/all-resource-types/run-roundtrip-phase2c-compare.ps1 `
250+
-SourceSubscriptionId $sourceSubId `
251+
-SourceResourceGroup '${{ env.SOURCE_RG }}' `
252+
-SourceApimName '${{ env.SOURCE_APIM }}' `
253+
-TargetSubscriptionId $targetSubId `
254+
-TargetResourceGroup '${{ env.TARGET_RG }}' `
255+
-TargetApimName '${{ env.TARGET_APIM }}' `
256+
-LogLevel $logLevel
257+
208258
- name: Upload Extracted Artifacts
209259
if: always()
210260
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)