8383 done
8484 continue-on-error : true
8585
86- # ── Management account (StackSets live here) ──────────────────────────
87-
88- - name : Assume role — management account
89- uses : aws-actions/configure-aws-credentials@v4
90- with :
91- role-to-assume : arn:aws:iam::${{ secrets.AWS_MGMT_ACCOUNT_ID }}:role/GitHubActionsE2ERole
92- aws-region : ap-northeast-2
93- continue-on-error : true
94-
95- - name : Delete tagged resources — management account
96- working-directory : .github/scripts
97- run : |
98- python3 teardown.py \
99- --all \
100- --tag-value migTEST0000001 \
101- --regions ap-northeast-2,us-east-1,us-west-2
102- continue-on-error : true
103-
104- - name : Delete stale StackSets — management account
105- run : |
106- for ss in $(aws cloudformation list-stack-sets \
107- --status ACTIVE \
108- --query 'Summaries[?starts_with(StackSetName, `map-auto-tagger-e2e-pr`)].StackSetName' \
109- --output text \
110- --region ap-northeast-2 2>/dev/null); do
111- echo "Removing all instances from StackSet: $ss"
112- # Delete all stack instances first (required before deleting the StackSet)
113- aws cloudformation delete-stack-instances \
114- --stack-set-name "$ss" \
115- --regions ap-northeast-2 \
116- --no-retain-stacks \
117- --deployment-targets 'OrganizationalUnitIds=[]' \
118- --region ap-northeast-2 2>/dev/null || \
119- aws cloudformation delete-stack-instances \
120- --stack-set-name "$ss" \
121- --accounts \
122- "${{ secrets.AWS_LINKED1_ACCOUNT_ID }}" \
123- "${{ secrets.AWS_LINKED2_ACCOUNT_ID }}" \
124- "${{ secrets.AWS_LINKED3_ACCOUNT_ID }}" \
125- "${{ secrets.AWS_LINKED4_ACCOUNT_ID }}" \
126- "${{ secrets.AWS_LINKED5_ACCOUNT_ID }}" \
127- --regions ap-northeast-2 \
128- --no-retain-stacks \
129- --region ap-northeast-2 2>/dev/null || true
130- sleep 5
131- echo "Deleting StackSet: $ss"
132- aws cloudformation delete-stack-set --stack-set-name "$ss" --region ap-northeast-2 || true
133- done
134- continue-on-error : true
135-
136- # ── Linked account 1 ──────────────────────────────────────────────────
86+ # ── Linked accounts (clean these BEFORE deleting StackSets) ───────────
13787
13888 - name : Assume role — linked account 1
13989 uses : aws-actions/configure-aws-credentials@v4
@@ -151,8 +101,6 @@ jobs:
151101 --regions ap-northeast-2,us-east-1,us-west-2
152102 continue-on-error : true
153103
154- # ── Linked account 2 ──────────────────────────────────────────────────
155-
156104 - name : Assume role — linked account 2
157105 uses : aws-actions/configure-aws-credentials@v4
158106 with :
@@ -169,8 +117,6 @@ jobs:
169117 --regions ap-northeast-2,us-east-1,us-west-2
170118 continue-on-error : true
171119
172- # ── Linked account 3 ──────────────────────────────────────────────────
173-
174120 - name : Assume role — linked account 3
175121 uses : aws-actions/configure-aws-credentials@v4
176122 with :
@@ -187,8 +133,6 @@ jobs:
187133 --regions ap-northeast-2,us-east-1,us-west-2
188134 continue-on-error : true
189135
190- # ── Linked account 4 ──────────────────────────────────────────────────
191-
192136 - name : Assume role — linked account 4
193137 uses : aws-actions/configure-aws-credentials@v4
194138 with :
@@ -205,8 +149,6 @@ jobs:
205149 --regions ap-northeast-2,us-east-1,us-west-2
206150 continue-on-error : true
207151
208- # ── Linked account 5 ──────────────────────────────────────────────────
209-
210152 - name : Assume role — linked account 5
211153 uses : aws-actions/configure-aws-credentials@v4
212154 with :
@@ -222,3 +164,37 @@ jobs:
222164 --tag-value migTEST0000001 \
223165 --regions ap-northeast-2,us-east-1,us-west-2
224166 continue-on-error : true
167+
168+ # ── Management account (StackSets — delete AFTER linked accounts) ─────
169+
170+ - name : Assume role — management account
171+ uses : aws-actions/configure-aws-credentials@v4
172+ with :
173+ role-to-assume : arn:aws:iam::${{ secrets.AWS_MGMT_ACCOUNT_ID }}:role/GitHubActionsE2ERole
174+ aws-region : ap-northeast-2
175+ continue-on-error : true
176+
177+ - name : Delete tagged resources — management account
178+ working-directory : .github/scripts
179+ run : |
180+ python3 teardown.py \
181+ --all \
182+ --tag-value migTEST0000001 \
183+ --regions ap-northeast-2,us-east-1,us-west-2
184+ continue-on-error : true
185+
186+ - name : Delete stale StackSets — management account
187+ working-directory : .github/scripts
188+ run : |
189+ for ss in $(aws cloudformation list-stack-sets \
190+ --status ACTIVE \
191+ --query 'Summaries[?starts_with(StackSetName, `map-auto-tagger-e2e-pr`)].StackSetName' \
192+ --output text \
193+ --region ap-northeast-2 2>/dev/null); do
194+ echo "Deleting StackSet: $ss"
195+ python3 delete_stackset.py \
196+ --name "$ss" \
197+ --accounts "${{ secrets.AWS_LINKED1_ACCOUNT_ID }},${{ secrets.AWS_LINKED2_ACCOUNT_ID }},${{ secrets.AWS_LINKED3_ACCOUNT_ID }},${{ secrets.AWS_LINKED4_ACCOUNT_ID }},${{ secrets.AWS_LINKED5_ACCOUNT_ID }}" \
198+ --region ap-northeast-2 || true
199+ done
200+ continue-on-error : true
0 commit comments