Skip to content

Commit bd03a3d

Browse files
authored
fix(ci): Paginate ec2_linux_matrix to stay under 256 job limit (#2021)
1 parent d6b59b3 commit bd03a3d

2 files changed

Lines changed: 270 additions & 16 deletions

File tree

.github/workflows/PR-test.yml

Lines changed: 134 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# SPDX-License-Identifier: MIT
33

44
name: PR Test
5+
permissions:
6+
id-token: write
7+
contents: read
58
env:
69
TERRAFORM_AWS_ASSUME_ROLE: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
710
TERRAFORM_AWS_ASSUME_ROLE_DURATION: 14400 # 4 hours
@@ -118,7 +121,12 @@ jobs:
118121
if: needs.CheckLabel.outputs.should_run == 'true'
119122
runs-on: ubuntu-latest
120123
outputs:
121-
ec2_linux_matrix: ${{ steps.set-matrix.outputs.ec2_linux_matrix }}
124+
ec2_linux_matrix_0: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_0 }}
125+
ec2_linux_matrix_1: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_1 }}
126+
ec2_linux_matrix_2: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_2 }}
127+
ec2_linux_matrix_3: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_3 }}
128+
ec2_linux_matrix_4: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_4 }}
129+
ec2_linux_matrix_page_count: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_page_count }}
122130
ec2_selinux_matrix: ${{ steps.set-matrix.outputs.ec2_selinux_matrix }}
123131

124132
steps:
@@ -149,15 +157,39 @@ jobs:
149157
MATRIX=$(jq -c -r '@json' filtered_matrix_selinux.json)
150158
echo "ec2_selinux_matrix=$MATRIX" >> $GITHUB_OUTPUT
151159
160+
- name: Paginate ec2_linux_matrix
161+
id: paginate-matrix
162+
run: |
163+
# GitHub Actions matrix limit is 256 jobs per workflow run.
164+
# Use 200 per page for headroom. Up to 5 pages supported (1000 tests).
165+
# The ec2_linux_matrix is @json-encoded (double-encoded), so decode first.
166+
PAGE_SIZE=200
167+
FULL_MATRIX=$(echo '${{ steps.set-matrix.outputs.ec2_linux_matrix }}' | jq -r '.')
168+
TOTAL=$(echo "$FULL_MATRIX" | jq 'length')
169+
PAGE_COUNT=$(( (TOTAL + PAGE_SIZE - 1) / PAGE_SIZE ))
170+
171+
if [ "$PAGE_COUNT" -gt 5 ]; then
172+
echo "::error::ec2_linux_matrix has $TOTAL entries requiring $PAGE_COUNT pages, but only 5 are supported. Add more static page slots."
173+
exit 1
174+
fi
175+
176+
echo "ec2_linux total=$TOTAL pages=$PAGE_COUNT"
177+
echo "ec2_linux_matrix_page_count=${PAGE_COUNT}" >> "$GITHUB_OUTPUT"
178+
179+
for (( i=0; i<PAGE_COUNT; i++ )); do
180+
START=$(( i * PAGE_SIZE ))
181+
PAGE=$(echo "$FULL_MATRIX" | jq -c ".[$START:$START+$PAGE_SIZE]" | jq -c -r '@json')
182+
echo "ec2_linux_matrix_${i}=${PAGE}" >> "$GITHUB_OUTPUT"
183+
done
152184
153185
- name: Echo test plan matrix
154186
run: |
155-
echo "ec2_linux_matrix: ${{ steps.set-matrix.outputs.ec2_linux_matrix }}"
187+
echo "ec2_linux_matrix pages: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_page_count }}"
156188
echo "ec2_selinux_matrix: ${{ steps.set-matrix.outputs.ec2_selinux_matrix }}"
157189
158190
159-
EC2LinuxIntegrationTest:
160-
name: 'EC2LinuxTests'
191+
EC2LinuxIntegrationTest-0:
192+
name: 'EC2LinuxTests-0'
161193
needs: [ CheckLabel, GenerateTestMatrix, OutputEnvVariables, StartLocalStack, BuildAndUpload ]
162194
if: needs.CheckLabel.outputs.should_run == 'true'
163195
uses: ./.github/workflows/ec2-integration-test.yml
@@ -167,8 +199,100 @@ jobs:
167199
with:
168200
build_id: ${{ github.sha }}
169201
test_dir: terraform/ec2/linux
170-
job_id: ec2-linux-integration-test
171-
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix }}
202+
job_id: ec2-linux-integration-test-0
203+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_0 }}
204+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
205+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
206+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
207+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
208+
region: us-west-2
209+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
210+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
211+
is_selinux_test: false
212+
secrets: inherit
213+
214+
EC2LinuxIntegrationTest-1:
215+
name: 'EC2LinuxTests-1'
216+
needs: [ CheckLabel, GenerateTestMatrix, OutputEnvVariables, StartLocalStack, BuildAndUpload ]
217+
if: ${{ needs.CheckLabel.outputs.should_run == 'true' && needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 1 }}
218+
uses: ./.github/workflows/ec2-integration-test.yml
219+
permissions:
220+
id-token: write
221+
contents: read
222+
with:
223+
build_id: ${{ github.sha }}
224+
test_dir: terraform/ec2/linux
225+
job_id: ec2-linux-integration-test-1
226+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_1 }}
227+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
228+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
229+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
230+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
231+
region: us-west-2
232+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
233+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
234+
is_selinux_test: false
235+
secrets: inherit
236+
237+
EC2LinuxIntegrationTest-2:
238+
name: 'EC2LinuxTests-2'
239+
needs: [ CheckLabel, GenerateTestMatrix, OutputEnvVariables, StartLocalStack, BuildAndUpload ]
240+
if: ${{ needs.CheckLabel.outputs.should_run == 'true' && needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 2 }}
241+
uses: ./.github/workflows/ec2-integration-test.yml
242+
permissions:
243+
id-token: write
244+
contents: read
245+
with:
246+
build_id: ${{ github.sha }}
247+
test_dir: terraform/ec2/linux
248+
job_id: ec2-linux-integration-test-2
249+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_2 }}
250+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
251+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
252+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
253+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
254+
region: us-west-2
255+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
256+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
257+
is_selinux_test: false
258+
secrets: inherit
259+
260+
EC2LinuxIntegrationTest-3:
261+
name: 'EC2LinuxTests-3'
262+
needs: [ CheckLabel, GenerateTestMatrix, OutputEnvVariables, StartLocalStack, BuildAndUpload ]
263+
if: ${{ needs.CheckLabel.outputs.should_run == 'true' && needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 3 }}
264+
uses: ./.github/workflows/ec2-integration-test.yml
265+
permissions:
266+
id-token: write
267+
contents: read
268+
with:
269+
build_id: ${{ github.sha }}
270+
test_dir: terraform/ec2/linux
271+
job_id: ec2-linux-integration-test-3
272+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_3 }}
273+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
274+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
275+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
276+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
277+
region: us-west-2
278+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
279+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
280+
is_selinux_test: false
281+
secrets: inherit
282+
283+
EC2LinuxIntegrationTest-4:
284+
name: 'EC2LinuxTests-4'
285+
needs: [ CheckLabel, GenerateTestMatrix, OutputEnvVariables, StartLocalStack, BuildAndUpload ]
286+
if: ${{ needs.CheckLabel.outputs.should_run == 'true' && needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 4 }}
287+
uses: ./.github/workflows/ec2-integration-test.yml
288+
permissions:
289+
id-token: write
290+
contents: read
291+
with:
292+
build_id: ${{ github.sha }}
293+
test_dir: terraform/ec2/linux
294+
job_id: ec2-linux-integration-test-4
295+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_4 }}
172296
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
173297
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
174298
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
@@ -204,7 +328,7 @@ jobs:
204328

205329
StopLocalStack:
206330
name: 'StopLocalStack'
207-
needs: [ CheckLabel, StartLocalStack, EC2LinuxIntegrationTest, OutputEnvVariables ]
331+
needs: [ CheckLabel, StartLocalStack, EC2LinuxIntegrationTest-0, EC2LinuxIntegrationTest-1, EC2LinuxIntegrationTest-2, EC2LinuxIntegrationTest-3, EC2LinuxIntegrationTest-4, OutputEnvVariables ]
208332
if: ${{ always() && needs.StartLocalStack.result == 'success' && needs.CheckLabel.outputs.should_run == 'true'}}
209333
uses: ./.github/workflows/stop-localstack.yml
210334
secrets: inherit
@@ -240,8 +364,9 @@ jobs:
240364
verify-all:
241365
name: Verify All PR Test Jobs
242366
needs: [IntegrationTestGate, CheckLabel, BuildAndUpload, OutputEnvVariables, StartLocalStack,
243-
GenerateTestMatrix, EC2LinuxIntegrationTest, EC2SELinuxIntegrationTest,
244-
StopLocalStack]
367+
GenerateTestMatrix, EC2LinuxIntegrationTest-0, EC2LinuxIntegrationTest-1,
368+
EC2LinuxIntegrationTest-2, EC2LinuxIntegrationTest-3, EC2LinuxIntegrationTest-4,
369+
EC2SELinuxIntegrationTest, StopLocalStack]
245370
runs-on: ubuntu-latest
246371
if: always()
247372
steps:

.github/workflows/test-artifacts.yml

Lines changed: 136 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# SPDX-License-Identifier: MIT
33

44
name: Test Artifacts
5+
permissions:
6+
id-token: write
7+
contents: read
58
env:
69
PRIVATE_KEY: ${{ secrets.AWS_PRIVATE_KEY }}
710
TERRAFORM_AWS_ASSUME_ROLE: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
@@ -150,7 +153,12 @@ jobs:
150153
runs-on: ubuntu-latest
151154
outputs:
152155
ec2_gpu_matrix: ${{ steps.set-matrix.outputs.ec2_gpu_matrix }}
153-
ec2_linux_matrix: ${{ steps.set-matrix.outputs.ec2_linux_matrix }}
156+
ec2_linux_matrix_0: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_0 }}
157+
ec2_linux_matrix_1: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_1 }}
158+
ec2_linux_matrix_2: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_2 }}
159+
ec2_linux_matrix_3: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_3 }}
160+
ec2_linux_matrix_4: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_4 }}
161+
ec2_linux_matrix_page_count: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_page_count }}
154162
ec2_linux_onprem_matrix: ${{ steps.set-matrix.outputs.ec2_linux_onprem_matrix }}
155163
ec2_selinux_matrix: ${{ steps.set-matrix.outputs.ec2_selinux_matrix }}
156164
ec2_windows_matrix: ${{ steps.set-matrix.outputs.ec2_windows_matrix }}
@@ -219,11 +227,48 @@ jobs:
219227
echo "ec2_linux_itar_matrix=$(apply_filters generator/resources/ec2_linux_itar_complete_test_matrix.json)" >> "$GITHUB_OUTPUT"
220228
echo "ec2_linux_china_matrix=$(apply_filters generator/resources/ec2_linux_china_complete_test_matrix.json)" >> "$GITHUB_OUTPUT"
221229
230+
- name: Paginate ec2_linux_matrix
231+
id: paginate-matrix
232+
run: |
233+
# GitHub Actions matrix limit is 256 jobs per workflow run.
234+
# Use 200 per page for headroom. Up to 5 pages supported (1000 tests).
235+
PAGE_SIZE=200
236+
FULL_MATRIX='${{ steps.set-matrix.outputs.ec2_linux_matrix }}'
237+
TOTAL=$(echo "$FULL_MATRIX" | jq 'length')
238+
PAGE_COUNT=$(( (TOTAL + PAGE_SIZE - 1) / PAGE_SIZE ))
239+
240+
if [ "$PAGE_COUNT" -gt 5 ]; then
241+
echo "::error::ec2_linux_matrix has $TOTAL entries requiring $PAGE_COUNT pages, but only 5 are supported. Add more static page slots."
242+
exit 1
243+
fi
244+
245+
echo "ec2_linux total=$TOTAL pages=$PAGE_COUNT"
246+
echo "ec2_linux_matrix_page_count=${PAGE_COUNT}" >> "$GITHUB_OUTPUT"
247+
248+
for (( i=0; i<PAGE_COUNT; i++ )); do
249+
START=$(( i * PAGE_SIZE ))
250+
PAGE=$(echo "$FULL_MATRIX" | jq -c ".[$START:$START+$PAGE_SIZE]")
251+
echo "ec2_linux_matrix_${i}=${PAGE}" >> "$GITHUB_OUTPUT"
252+
echo " page $i: $(echo "$PAGE" | jq 'length') entries"
253+
done
254+
222255
- name: Echo test plan matrix
223256
run: |
224257
echo "ec2_gpu_matrix: ${{ steps.set-matrix.outputs.ec2_gpu_matrix }}"
225258
echo "eks_addon_matrix: ${{ steps.set-matrix.outputs.eks_addon_matrix }}"
226-
echo "ec2_linux_matrix: ${{ steps.set-matrix.outputs.ec2_linux_matrix }}"
259+
echo "ec2_linux_matrix pages: ${{ steps.paginate-matrix.outputs.ec2_linux_matrix_page_count }}"
260+
for i in 0 1 2 3 4; do
261+
page='${{ steps.paginate-matrix.outputs.ec2_linux_matrix_0 }}'
262+
case $i in
263+
1) page='${{ steps.paginate-matrix.outputs.ec2_linux_matrix_1 }}' ;;
264+
2) page='${{ steps.paginate-matrix.outputs.ec2_linux_matrix_2 }}' ;;
265+
3) page='${{ steps.paginate-matrix.outputs.ec2_linux_matrix_3 }}' ;;
266+
4) page='${{ steps.paginate-matrix.outputs.ec2_linux_matrix_4 }}' ;;
267+
esac
268+
if [ -n "$page" ]; then
269+
echo "ec2_linux_matrix_$i: $(echo "$page" | jq 'length') entries"
270+
fi
271+
done
227272
echo "ec2_linux_onprem_matrix: ${{ steps.set-matrix.outputs.ec2_linux_onprem_matrix }}"
228273
echo "ec2_selinux_matrix: ${{ steps.set-matrix.outputs.ec2_selinux_matrix }}"
229274
echo "ec2_windows_matrix: ${{ steps.set-matrix.outputs.ec2_windows_matrix }}"
@@ -494,15 +539,99 @@ jobs:
494539
fi
495540
terraform destroy --auto-approve
496541
497-
EC2LinuxIntegrationTest:
542+
EC2LinuxIntegrationTest-0:
498543
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
499-
name: 'EC2Linux'
544+
name: 'EC2Linux-0'
500545
uses: ./.github/workflows/ec2-integration-test.yml
501546
with:
502547
build_id: ${{ inputs.build_id }}
503548
test_dir: terraform/ec2/linux
504-
job_id: ec2-linux-integration-test
505-
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix }}
549+
job_id: ec2-linux-integration-test-0
550+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_0 }}
551+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
552+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
553+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
554+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
555+
region: us-west-2
556+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
557+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
558+
is_selinux_test: false
559+
is_onprem_test: false
560+
secrets: inherit
561+
562+
EC2LinuxIntegrationTest-1:
563+
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
564+
if: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 1 }}
565+
name: 'EC2Linux-1'
566+
uses: ./.github/workflows/ec2-integration-test.yml
567+
with:
568+
build_id: ${{ inputs.build_id }}
569+
test_dir: terraform/ec2/linux
570+
job_id: ec2-linux-integration-test-1
571+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_1 }}
572+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
573+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
574+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
575+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
576+
region: us-west-2
577+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
578+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
579+
is_selinux_test: false
580+
is_onprem_test: false
581+
secrets: inherit
582+
583+
EC2LinuxIntegrationTest-2:
584+
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
585+
if: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 2 }}
586+
name: 'EC2Linux-2'
587+
uses: ./.github/workflows/ec2-integration-test.yml
588+
with:
589+
build_id: ${{ inputs.build_id }}
590+
test_dir: terraform/ec2/linux
591+
job_id: ec2-linux-integration-test-2
592+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_2 }}
593+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
594+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
595+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
596+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
597+
region: us-west-2
598+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
599+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
600+
is_selinux_test: false
601+
is_onprem_test: false
602+
secrets: inherit
603+
604+
EC2LinuxIntegrationTest-3:
605+
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
606+
if: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 3 }}
607+
name: 'EC2Linux-3'
608+
uses: ./.github/workflows/ec2-integration-test.yml
609+
with:
610+
build_id: ${{ inputs.build_id }}
611+
test_dir: terraform/ec2/linux
612+
job_id: ec2-linux-integration-test-3
613+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_3 }}
614+
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
615+
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
616+
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
617+
localstack_host: ${{ needs.StartLocalStack.outputs.local_stack_host_name }}
618+
region: us-west-2
619+
terraform_assume_role: ${{ vars.TERRAFORM_AWS_ASSUME_ROLE }}
620+
s3_integration_bucket: ${{ vars.S3_INTEGRATION_BUCKET }}
621+
is_selinux_test: false
622+
is_onprem_test: false
623+
secrets: inherit
624+
625+
EC2LinuxIntegrationTest-4:
626+
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
627+
if: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_page_count > 4 }}
628+
name: 'EC2Linux-4'
629+
uses: ./.github/workflows/ec2-integration-test.yml
630+
with:
631+
build_id: ${{ inputs.build_id }}
632+
test_dir: terraform/ec2/linux
633+
job_id: ec2-linux-integration-test-4
634+
test_props: ${{ needs.GenerateTestMatrix.outputs.ec2_linux_matrix_4 }}
506635
test_repo_name: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
507636
test_repo_url: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}
508637
test_repo_branch: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
@@ -787,7 +916,7 @@ jobs:
787916
StopLocalStack:
788917
name: 'StopLocalStack'
789918
if: ${{ always() && needs.StartLocalStack.result == 'success' }}
790-
needs: [ StartLocalStack, EC2LinuxIntegrationTest, OutputEnvVariables ]
919+
needs: [ StartLocalStack, EC2LinuxIntegrationTest-0, EC2LinuxIntegrationTest-1, EC2LinuxIntegrationTest-2, EC2LinuxIntegrationTest-3, EC2LinuxIntegrationTest-4, OutputEnvVariables ]
791920
uses: ./.github/workflows/stop-localstack.yml
792921
secrets: inherit
793922
permissions:

0 commit comments

Comments
 (0)