Skip to content

Commit 8277e0d

Browse files
committed
Add bootstrap subs and clean up steps
1 parent 9252280 commit 8277e0d

2 files changed

Lines changed: 61 additions & 26 deletions

File tree

.github/tests/scripts/create-subscriptions.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
param(
33
[string]$billingScope,
44
[string]$subscriptionNamePrefix = "accelerator-bootstrap-modules",
5-
[string[]]$subscriptionTypes = @("connectivity", "management", "identity", "security"),
5+
[string[]]$subscriptionTypes = @("connectivity", "management", "identity", "security", "bootstrap"),
66
[int]$maxRetries = 5,
77
[int]$throttleLimit = 2,
88
[switch]$planOnly

.github/workflows/end-to-end-test.yml

Lines changed: 60 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,32 @@ jobs:
139139
tenant-id: ${{ vars.ARM_TENANT_ID }}
140140
subscription-id: ${{ vars.ARM_SUBSCRIPTION_ID }}
141141

142+
- name: Get Subscriptions
143+
run: |
144+
$subscriptionIDBootstrap = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-bootstrap" | ConvertFrom-Json | Select-Object -ExpandProperty id
145+
$subscriptionIDManagement = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-management" | ConvertFrom-Json | Select-Object -ExpandProperty id
146+
$subscriptionIDConnectivity = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-connectivity" | ConvertFrom-Json | Select-Object -ExpandProperty id
147+
$subscriptionIDIdentity = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-identity" | ConvertFrom-Json | Select-Object -ExpandProperty id
148+
$subscriptionIDSecurity = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-security" | ConvertFrom-Json | Select-Object -ExpandProperty id
149+
150+
"ARM_SUBSCRIPTION_ID=$subscriptionIDBootstrap" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
151+
"SUBSCRIPTION_ID_BOOTSTRAP=$subscriptionIDBootstrap" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
152+
"SUBSCRIPTION_ID_MANAGEMENT=$subscriptionIDManagement" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
153+
"SUBSCRIPTION_ID_CONNECTIVITY=$subscriptionIDConnectivity" | Out-File -File
154+
"SUBSCRIPTION_ID_IDENTITY=$subscriptionIDIdentity" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
155+
"SUBSCRIPTION_ID_SECURITY=$subscriptionIDSecurity" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
156+
157+
shell: pwsh
158+
159+
- name: Install the Accelerator PowerShell Module
160+
run: |
161+
Write-Host "Installing the Accelerator PowerShell Module"
162+
${{ env.POWERSHELL_MODULE_FOLDER }}/actions_bootstrap_for_e2e_tests.ps1 | Out-String | Write-Verbose
163+
Invoke-Build -File ${{ env.POWERSHELL_MODULE_FOLDER }}/src/ALZ.build.ps1 BuildAndInstallOnly | Out-String | Write-Verbose
164+
Write-Host "Installed Accelerator Module"
165+
166+
shell: pwsh
167+
142168
- name: Setup ALZ Module Inputs
143169
run: |
144170
@@ -242,7 +268,6 @@ jobs:
242268
} else {
243269
$Inputs["starter_locations"] = @($location)
244270
}
245-
$Inputs["bootstrap_subscription_id"] = ""
246271
$Inputs["service_name"] = "alz"
247272
$Inputs["environment_name"] = $uniqueId
248273
$Inputs["postfix_number"] = "1"
@@ -288,16 +313,14 @@ jobs:
288313
$rootParentManagementGroupId = $selfHostedAgents -eq "none" ? "${{ vars.NESTED_ROOT_PARENT_MANAGEMENT_GROUP_ID }}" : ""
289314
$Inputs["root_parent_management_group_id"] = $rootParentManagementGroupId
290315
291-
$subscriptionIDManagement = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-management" | ConvertFrom-Json | Select-Object -ExpandProperty id
292-
$subscriptionIDConnectivity = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-connectivity" | ConvertFrom-Json | Select-Object -ExpandProperty id
293-
$subscriptionIDIdentity = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-identity" | ConvertFrom-Json | Select-Object -ExpandProperty id
294-
$subscriptionIDSecurity = az account show --subscription "accelerator-bootstrap-modules-$shortNamePrefix-security" | ConvertFrom-Json | Select-Object -ExpandProperty id
316+
# Subscription IDs
317+
$Inputs["bootstrap_subscription_id"] = $env:SUBSCRIPTION_ID_BOOTSTRAP
295318
296319
$Inputs["subscription_ids"] = @{
297-
management = $subscriptionIDManagement
298-
connectivity = $subscriptionIDConnectivity
299-
identity = $subscriptionIDIdentity
300-
security = $subscriptionIDSecurity
320+
management = $env:SUBSCRIPTION_ID_MANAGEMENT
321+
connectivity = $env:SUBSCRIPTION_ID_CONNECTIVITY
322+
identity = $env:SUBSCRIPTION_ID_IDENTITY
323+
security = $env:SUBSCRIPTION_ID_SECURITY
301324
}
302325
303326
# Test specific inputs
@@ -332,8 +355,8 @@ jobs:
332355
# Bicep
333356
if($infrastructureAsCode -eq "bicep") {
334357
$Inputs["network_type"] = "none"
335-
$Inputs["management_group_int_root_id"] = "alz-$uniqueId"
336-
$Inputs["management_group_int_root_name"] = "alz-$uniqueId"
358+
$Inputs["management_group_int_root_id"] = "test-$uniqueId"
359+
$Inputs["management_group_int_root_name"] = "Test $uniqueId"
337360
$Inputs["management_group_id_prefix"] = ""
338361
$Inputs["management_group_id_postfix"] = ""
339362
$Inputs["management_group_name_prefix"] = ""
@@ -348,19 +371,26 @@ jobs:
348371
349372
shell: pwsh
350373

374+
- name: Clean Up Pre-Run
375+
run: |
376+
377+
$uniqueId = $env:UNIQUE_ID
378+
379+
Remove-PlatformLandingZone `
380+
-ManagementGroups "test-$uniqueId" `
381+
-Subscriptions $env:SUBSCRIPTION_ID_MANAGEMENT, $env:SUBSCRIPTION_ID_CONNECTIVITY, $env:SUBSCRIPTION_ID_IDENTITY, $env:SUBSCRIPTION_ID_SECURITY `
382+
-AdditionalSubscriptions $env:SUBSCRIPTION_ID_BOOTSTRAP `
383+
-DeleteTargetManagementGroups
384+
385+
shell: pwsh
386+
351387
- name: Run ALZ PowerShell
352388
run: |
353389
354390
# Get Inputs
355391
$versionControlSystem = "${{ matrix.versionControlSystem }}"
356392
$infrastructureAsCode = "${{ matrix.infrastructureAsCode }}"
357393
358-
# Install the Module
359-
Write-Host "Installing the Accelerator PowerShell Module"
360-
${{ env.POWERSHELL_MODULE_FOLDER }}/actions_bootstrap_for_e2e_tests.ps1 | Out-String | Write-Verbose
361-
Invoke-Build -File ${{ env.POWERSHELL_MODULE_FOLDER }}/src/ALZ.build.ps1 BuildAndInstallOnly | Out-String | Write-Verbose
362-
Write-Host "Installed Accelerator Module"
363-
364394
# Run the Module in a retry loop
365395
$retryCount = 0
366396
$maximumRetries = 10
@@ -418,7 +448,6 @@ jobs:
418448
shell: pwsh
419449
env:
420450
ARM_TENANT_ID: ${{ vars.ARM_TENANT_ID }}
421-
ARM_SUBSCRIPTION_ID: ${{ vars.ARM_SUBSCRIPTION_ID }}
422451
ARM_CLIENT_ID: ${{ vars.ARM_CLIENT_ID }}
423452
ARM_USE_OIDC: true
424453

@@ -487,21 +516,27 @@ jobs:
487516
- name: Run Terraform Destroy to Clean Up
488517
if: ${{ always() && ((inputs.skip_destroy != '' && inputs.skip_destroy || 'no') == 'no') }}
489518
run: |
490-
491519
# Get Inputs
492520
$versionControlSystem = "${{ matrix.versionControlSystem }}"
493521
494-
Write-Host "Installing the Accelerator PowerShell Module"
495-
${{ env.POWERSHELL_MODULE_FOLDER }}/actions_bootstrap_for_e2e_tests.ps1 | Out-String | Write-Verbose
496-
Invoke-Build -File ${{ env.POWERSHELL_MODULE_FOLDER }}/src/ALZ.build.ps1 BuildAndInstallOnly | Out-String | Write-Verbose
497-
Write-Host "Installed Accelerator Module"
498-
499522
# Run destroy
500523
${{ env.BOOTSTRAP_MODULE_FOLDER }}/.github/tests/scripts/destroy.ps1 -versionControlSystem $versionControlSystem
501524
502525
shell: pwsh
503526
env:
504527
ARM_TENANT_ID: ${{ vars.ARM_TENANT_ID }}
505-
ARM_SUBSCRIPTION_ID: ${{ vars.ARM_SUBSCRIPTION_ID }}
506528
ARM_CLIENT_ID: ${{ vars.ARM_CLIENT_ID }}
507529
ARM_USE_OIDC: true
530+
531+
- name: Clean Up Post-Run
532+
run: |
533+
$uniqueId = $env:UNIQUE_ID
534+
535+
Remove-PlatformLandingZone `
536+
-ManagementGroups "test-$uniqueId" `
537+
-Subscriptions $env:SUBSCRIPTION_ID_MANAGEMENT, $env:SUBSCRIPTION_ID_CONNECTIVITY, $env:SUBSCRIPTION_ID_IDENTITY, $env:SUBSCRIPTION_ID_SECURITY `
538+
-AdditionalSubscriptions $env:SUBSCRIPTION_ID_BOOTSTRAP `
539+
-DeleteTargetManagementGroups
540+
541+
shell: pwsh
542+
if: always()

0 commit comments

Comments
 (0)