Skip to content

Commit 1986ed7

Browse files
committed
re-arranging files into sub-folders.
1 parent 0bb9853 commit 1986ed7

21 files changed

Lines changed: 1009 additions & 618 deletions

.github/workflows/integration-test.yml

Lines changed: 76 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,8 @@ jobs:
107107

108108
- run: npm ci && npm run build
109109

110-
- name: Azure Login (OIDC)
111-
uses: azure/login@v2
112-
with:
113-
client-id: ${{ secrets.AZURE_CLIENT_ID }}
114-
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
115-
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
116-
117-
- name: Run Round-Trip Phase 1 (Deploy)
110+
- name: Resolve Workflow Settings
111+
id: settings
118112
shell: pwsh
119113
run: |
120114
$logLevel = '${{ inputs.log_level }}'
@@ -127,21 +121,35 @@ jobs:
127121
if ([string]::IsNullOrWhiteSpace($skuName)) { $skuName = '${{ inputs.sku }}' }
128122
if ([string]::IsNullOrWhiteSpace($skuName)) { $skuName = 'StandardV2' }
129123
124+
"logLevel=$logLevel" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
125+
"skuName=$skuName" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
126+
127+
- name: Azure Login
128+
uses: azure/login@v2
129+
with:
130+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
131+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
132+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
133+
134+
- name: Run Round-Trip Phase 1 (Deploy)
135+
id: phase1
136+
shell: pwsh
137+
run: |
130138
$params = @{
131139
SourceResourceGroup = '${{ env.SOURCE_RG }}'
132140
TargetResourceGroup = '${{ env.TARGET_RG }}'
133141
SourceApimName = '${{ env.SOURCE_APIM }}'
134142
TargetApimName = '${{ env.TARGET_APIM }}'
135143
SourceSubscriptionId = '${{ secrets.AZURE_SUBSCRIPTION_ID }}'
136144
TargetSubscriptionId = '${{ secrets.AZURE_SUBSCRIPTION_ID }}'
137-
SkuName = $skuName
145+
SkuName = '${{ steps.settings.outputs.skuName }}'
138146
Location = '${{ inputs.location }}'
139-
LogLevel = $logLevel
147+
LogLevel = '${{ steps.settings.outputs.logLevel }}'
140148
PublisherEmail = '${{ secrets.APIM_PUBLISHER_EMAIL }}'
141149
}
142-
./tests/integration/all-resource-types/run-roundtrip-phase1-deploy.ps1 @params
150+
./tests/integration/all-resource-types/phases/run-phase1-deploy.ps1 @params
143151
144-
- name: Azure Login (OIDC) - Refresh Before Phase 2
152+
- name: Azure Login - Refresh Before Phase 2
145153
if: success()
146154
uses: azure/login@v2
147155
with:
@@ -152,97 +160,95 @@ jobs:
152160
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
153161

154162
- name: Run Round-Trip Phase 2 (Extract)
163+
id: phase2
155164
if: success()
156165
shell: pwsh
157166
env:
158167
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
159168
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
160169
run: |
161-
$logLevel = '${{ inputs.log_level }}'
162-
if ([string]::IsNullOrWhiteSpace($logLevel)) { $logLevel = 'Verbose' }
163-
if ($logLevel -notin @('Info', 'Verbose', 'Debug')) {
164-
throw "Invalid log_level '$logLevel'. Allowed values: Info, Verbose, Debug."
165-
}
166-
167-
./tests/integration/all-resource-types/run-roundtrip-phase2-extract.ps1 `
168-
-SourceSubscriptionId '${{ secrets.AZURE_SUBSCRIPTION_ID }}' `
169-
-SourceResourceGroup '${{ env.SOURCE_RG }}' `
170-
-SourceApimName '${{ env.SOURCE_APIM }}' `
171-
-LogLevel $logLevel `
170+
./tests/integration/all-resource-types/phases/run-phase2-extract.ps1 `
171+
-SourceSubscriptionId '${{ steps.phase1.outputs.sourceSubscriptionId }}' `
172+
-SourceResourceGroup '${{ steps.phase1.outputs.sourceResourceGroup }}' `
173+
-SourceApimName '${{ steps.phase1.outputs.sourceApimName }}' `
174+
-LogLevel '${{ steps.settings.outputs.logLevel }}' `
172175
-ExtractOutputDir './extracted-artifacts'
173176
174177
- name: Run Round-Trip Phase 3 (Validate Extract)
175178
if: success()
176179
shell: pwsh
177180
run: |
178-
$logLevel = '${{ inputs.log_level }}'
179-
if ([string]::IsNullOrWhiteSpace($logLevel)) { $logLevel = 'Verbose' }
180-
if ($logLevel -notin @('Info', 'Verbose', 'Debug')) {
181-
throw "Invalid log_level '$logLevel'. Allowed values: Info, Verbose, Debug."
182-
}
181+
$skuName = '${{ steps.phase1.outputs.skuName }}'
182+
$extractOutputDir = '${{ steps.phase2.outputs.ExtractOutputDir }}'
183183
184-
$skuName = '${{ secrets.APIM_SKU }}'
185-
if ([string]::IsNullOrWhiteSpace($skuName)) { $skuName = '${{ inputs.sku }}' }
186-
if ([string]::IsNullOrWhiteSpace($skuName)) { $skuName = 'StandardV2' }
187-
188-
./tests/integration/all-resource-types/run-roundtrip-phase3-validate-extract.ps1 `
184+
./tests/integration/all-resource-types/phases/run-phase3-validate-extract.ps1 `
189185
-SkuName $skuName `
190-
-LogLevel $logLevel `
191-
-ExtractOutputDir './extracted-artifacts'
186+
-LogLevel '${{ steps.settings.outputs.logLevel }}' `
187+
-ExtractOutputDir $extractOutputDir
192188
193-
- name: Run Round-Trip Phase 4 (Publish)
189+
- name: Run Round-Trip Phase 4 (Create Overrides)
190+
if: success()
191+
shell: pwsh
192+
run: |
193+
$extractOutputDir = '${{ steps.phase2.outputs.ExtractOutputDir }}'
194+
195+
./tests/integration/all-resource-types/phases/run-phase4-create-overrides.ps1 `
196+
-TargetSubscriptionId '${{ steps.phase1.outputs.targetSubscriptionId }}' `
197+
-TargetResourceGroup '${{ steps.phase1.outputs.targetResourceGroup }}' `
198+
-LogLevel '${{ steps.settings.outputs.logLevel }}' `
199+
-ExtractOutputDir $extractOutputDir
200+
201+
- name: Run Round-Trip Phase 5 (Publish)
194202
if: success()
195203
shell: pwsh
196204
env:
197205
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
198206
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
199207
run: |
200-
$logLevel = '${{ inputs.log_level }}'
201-
if ([string]::IsNullOrWhiteSpace($logLevel)) { $logLevel = 'Verbose' }
202-
if ($logLevel -notin @('Info', 'Verbose', 'Debug')) {
203-
throw "Invalid log_level '$logLevel'. Allowed values: Info, Verbose, Debug."
204-
}
208+
$extractOutputDir = '${{ steps.phase2.outputs.ExtractOutputDir }}'
205209
206-
./tests/integration/all-resource-types/run-roundtrip-phase4-publish.ps1 `
207-
-TargetSubscriptionId '${{ secrets.AZURE_SUBSCRIPTION_ID }}' `
208-
-TargetResourceGroup '${{ env.TARGET_RG }}' `
209-
-TargetApimName '${{ env.TARGET_APIM }}' `
210-
-LogLevel $logLevel `
211-
-ExtractOutputDir './extracted-artifacts'
210+
./tests/integration/all-resource-types/phases/run-phase5-publish.ps1 `
211+
-TargetSubscriptionId '${{ steps.phase1.outputs.targetSubscriptionId }}' `
212+
-TargetResourceGroup '${{ steps.phase1.outputs.targetResourceGroup }}' `
213+
-TargetApimName '${{ steps.phase1.outputs.targetApimName }}' `
214+
-LogLevel '${{ steps.settings.outputs.logLevel }}' `
215+
-ExtractOutputDir $extractOutputDir
212216
213-
- name: Run Round-Trip Phase 5 (Compare)
217+
- name: Run Round-Trip Phase 6 (Compare)
214218
if: success()
215219
shell: pwsh
216220
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-
./tests/integration/all-resource-types/run-roundtrip-phase5-compare.ps1 `
224-
-SourceSubscriptionId '${{ secrets.AZURE_SUBSCRIPTION_ID }}' `
225-
-SourceResourceGroup '${{ env.SOURCE_RG }}' `
226-
-SourceApimName '${{ env.SOURCE_APIM }}' `
227-
-TargetSubscriptionId '${{ secrets.AZURE_SUBSCRIPTION_ID }}' `
228-
-TargetResourceGroup '${{ env.TARGET_RG }}' `
229-
-TargetApimName '${{ env.TARGET_APIM }}' `
230-
-LogLevel $logLevel
221+
./tests/integration/all-resource-types/phases/run-phase6-compare.ps1 `
222+
-SourceSubscriptionId '${{ steps.phase1.outputs.sourceSubscriptionId }}' `
223+
-SourceResourceGroup '${{ steps.phase1.outputs.sourceResourceGroup }}' `
224+
-SourceApimName '${{ steps.phase1.outputs.sourceApimName }}' `
225+
-TargetSubscriptionId '${{ steps.phase1.outputs.targetSubscriptionId }}' `
226+
-TargetResourceGroup '${{ steps.phase1.outputs.targetResourceGroup }}' `
227+
-TargetApimName '${{ steps.phase1.outputs.targetApimName }}' `
228+
-LogLevel '${{ steps.settings.outputs.logLevel }}'
231229
232230
- name: Upload Extracted Artifacts
233231
if: always()
234232
uses: actions/upload-artifact@v4
235233
with:
236-
name: extracted-artifacts-${{ inputs.sku }}
237-
path: ./extracted-artifacts/
234+
name: extracted-artifacts-${{ steps.phase1.outputs.skuName }}
235+
path: ${{ steps.phase2.outputs.ExtractOutputDir || './extracted-artifacts/' }}
238236
if-no-files-found: ignore
239237

240-
- name: Run Round-Trip Phase 6 (Teardown)
238+
- name: Run Round-Trip Phase 7 (Teardown)
241239
if: always()
242240
shell: pwsh
243241
run: |
244-
./tests/integration/all-resource-types/run-roundtrip-phase6-teardown.ps1 `
245-
-SourceResourceGroup '${{ env.SOURCE_RG }}' `
246-
-TargetResourceGroup '${{ env.TARGET_RG }}' `
247-
-Location '${{ inputs.location }}' `
248-
-HardDelete $true
242+
$sourceResourceGroup = '${{ steps.phase1.outputs.sourceResourceGroup }}'
243+
if ([string]::IsNullOrWhiteSpace($sourceResourceGroup)) { $sourceResourceGroup = '${{ env.SOURCE_RG }}' }
244+
245+
$targetResourceGroup = '${{ steps.phase1.outputs.targetResourceGroup }}'
246+
if ([string]::IsNullOrWhiteSpace($targetResourceGroup)) { $targetResourceGroup = '${{ env.TARGET_RG }}' }
247+
248+
$location = '${{ steps.phase1.outputs.location }}'
249+
if ([string]::IsNullOrWhiteSpace($location)) { $location = '${{ inputs.location }}' }
250+
251+
./tests/integration/all-resource-types/phases/run-phase7-teardown.ps1 `
252+
-SourceResourceGroup $sourceResourceGroup `
253+
-TargetResourceGroup $targetResourceGroup `
254+
-Location $location

0 commit comments

Comments
 (0)