Skip to content

Commit d08f08e

Browse files
committed
Optimize workload discovery tests
1 parent fa76598 commit d08f08e

File tree

3 files changed

+479
-341
lines changed

3 files changed

+479
-341
lines changed

.github/workflows/build-test-artifacts.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,14 @@ jobs:
138138
- run: gh workflow run application-signals-e2e-test.yml --ref ${{ github.ref_name }} --repo $GITHUB_REPOSITORY -f build_run_id=${{ github.run_id }} -f build_sha=${{ github.sha }}
139139
env:
140140
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
141+
142+
StartWDIntegrationTests:
143+
needs: [ BuildAndUploadPackages, BuildDocker ]
144+
if: ${{ github.event_name == 'push' || inputs.test-image-before-upload }}
145+
runs-on: ubuntu-latest
146+
permissions:
147+
contents: read
148+
steps:
149+
- run: gh workflow run wd-integration-test.yml --ref ${{ github.ref_name }} --repo $GITHUB_REPOSITORY -f build_run_id=${{ github.run_id }} -f build_sha=${{ github.sha }}
150+
env:
151+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/test-artifacts.yml

Lines changed: 0 additions & 341 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,8 @@ jobs:
130130
runs-on: ubuntu-latest
131131
outputs:
132132
ec2_gpu_matrix: ${{ steps.set-matrix.outputs.ec2_gpu_matrix }}
133-
ec2_linux_wd_matrix: ${{ steps.set-matrix.outputs.ec2_linux_wd_matrix }}
134-
ec2_linux_wd_nvidia_matrix: ${{ steps.set-matrix.outputs.ec2_linux_wd_nvidia_matrix }}
135133
ec2_linux_matrix: ${{ steps.set-matrix.outputs.ec2_linux_matrix }}
136134
ec2_selinux_matrix: ${{ steps.set-matrix.outputs.ec2_selinux_matrix }}
137-
ec2_windows_wd_matrix: ${{ steps.set-matrix.outputs.ec2_windows_wd_matrix }}
138-
ec2_windows_wd_nvidia_matrix: ${{ steps.set-matrix.outputs.ec2_windows_wd_nvidia_matrix }}
139135
ec2_windows_matrix: ${{ steps.set-matrix.outputs.ec2_windows_matrix }}
140136
ec2_mac_matrix: ${{ steps.set-matrix.outputs.ec2_mac_matrix }}
141137
ec2_performance_matrix: ${{steps.set-matrix.outputs.ec2_performance_matrix}}
@@ -166,12 +162,8 @@ jobs:
166162
go run --tags=generator generator/test_case_generator.go
167163
echo "ec2_gpu_matrix=$(echo $(cat generator/resources/ec2_gpu_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
168164
echo "eks_addon_matrix=$(echo $(cat generator/resources/eks_addon_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
169-
echo "ec2_linux_wd_matrix=$(echo $(cat generator/resources/ec2_linux_wd_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
170-
echo "ec2_linux_wd_nvidia_matrix=$(echo $(cat generator/resources/ec2_linux_wd_nvidia_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
171165
echo "ec2_linux_matrix=$(echo $(cat generator/resources/ec2_linux_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
172166
echo "ec2_selinux_matrix=$(echo $(cat generator/resources/ec2_selinux_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
173-
echo "ec2_windows_wd_matrix=$(echo $(cat generator/resources/ec2_windows_wd_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
174-
echo "ec2_windows_wd_nvidia_matrix=$(echo $(cat generator/resources/ec2_windows_wd_nvidia_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
175167
echo "ec2_windows_matrix=$(echo $(cat generator/resources/ec2_windows_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
176168
echo "ec2_mac_matrix=$(echo $(cat generator/resources/ec2_mac_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
177169
echo "ec2_performance_matrix=$(echo $(cat generator/resources/ec2_performance_complete_test_matrix.json))" >> "$GITHUB_OUTPUT"
@@ -189,10 +181,8 @@ jobs:
189181
run: |
190182
echo "ec2_gpu_matrix: ${{ steps.set-matrix.outputs.ec2_gpu_matrix }}"
191183
echo "eks_addon_matrix: ${{ steps.set-matrix.outputs.eks_addon_matrix }}"
192-
echo "ec2_linux_wd_nvidia_matrix: ${{ steps.set-matrix.outputs.ec2_linux_wd_nvidia_matrix }}"
193184
echo "ec2_linux_matrix: ${{ steps.set-matrix.outputs.ec2_linux_matrix }}"
194185
echo "ec2_selinux_matrix: ${{ steps.set-matrix.outputs.ec2_selinux_matrix }}"
195-
echo "ec2_windows_wd_nvidia_matrix: ${{ steps.set-matrix.outputs.ec2_windows_wd_nvidia_matrix }}"
196186
echo "ec2_windows_matrix: ${{ steps.set-matrix.outputs.ec2_windows_matrix }}"
197187
echo "ec2_mac_matrix: ${{ steps.set-matrix.outputs.ec2_mac_matrix }}"
198188
echo "ec2_performance_matrix: ${{ steps.set-matrix.outputs.ec2_performance_matrix}}"
@@ -424,337 +414,6 @@ jobs:
424414
fi
425415
terraform destroy --auto-approve
426416
427-
EC2LinuxWDIntegrationTest:
428-
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
429-
name: ${{matrix.arrays.testName}}
430-
runs-on: ubuntu-latest
431-
strategy:
432-
fail-fast: false
433-
matrix:
434-
arrays: ${{ fromJson(needs.GenerateTestMatrix.outputs.ec2_linux_wd_matrix) }}
435-
permissions:
436-
id-token: write
437-
contents: read
438-
steps:
439-
- uses: actions/checkout@v3
440-
with:
441-
repository: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
442-
ref: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
443-
444-
- name: Configure AWS Credentials
445-
uses: aws-actions/configure-aws-credentials@v4
446-
with:
447-
role-to-assume: ${{ env.TERRAFORM_AWS_ASSUME_ROLE }}
448-
aws-region: us-west-2
449-
role-duration-seconds: ${{ env.TERRAFORM_AWS_ASSUME_ROLE_DURATION }}
450-
451-
- name: Echo Test Info
452-
run: echo run on ec2 instance os ${{ matrix.arrays.os }} arc ${{ matrix.arrays.arc }} test dir ${{ matrix.arrays.test_dir }}
453-
454-
- name: Install Terraform
455-
uses: hashicorp/setup-terraform@v3
456-
with:
457-
terraform_version: 1.12.0
458-
459-
- name: Verify Terraform version
460-
run: terraform --version
461-
462-
- name: Terraform apply
463-
uses: nick-fields/retry@v2
464-
with:
465-
max_attempts: 3
466-
timeout_minutes: 30
467-
retry_wait_seconds: 5
468-
command: |
469-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
470-
cd "${{ matrix.arrays.terraform_dir }}"
471-
else
472-
cd terraform/ec2/linux
473-
fi
474-
475-
terraform init
476-
if terraform apply --auto-approve \
477-
-var="ssh_key_value=${{env.PRIVATE_KEY}}" \
478-
-var="github_test_repo=${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}" \
479-
-var="test_name=${{ matrix.arrays.os }}" \
480-
-var="cwa_github_sha=${{inputs.build_id}}" \
481-
-var="install_agent=${{ matrix.arrays.installAgentCommand }}" \
482-
-var="github_test_repo_branch=${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}" \
483-
-var="ec2_instance_type=${{ matrix.arrays.instanceType }}" \
484-
-var="user=${{ matrix.arrays.username }}" \
485-
-var="ami=${{ matrix.arrays.ami }}" \
486-
-var="ca_cert_path=${{ matrix.arrays.caCertPath }}" \
487-
-var="arc=${{ matrix.arrays.arc }}" \
488-
-var="binary_name=${{ matrix.arrays.binaryName }}" \
489-
-var="local_stack_host_name=${{ needs.StartLocalStack.outputs.local_stack_host_name }}" \
490-
-var="s3_bucket=${{ vars.S3_INTEGRATION_BUCKET }}" \
491-
-var="ssh_key_name=${{env.KEY_NAME}}" \
492-
-var="test_dir=${{ matrix.arrays.test_dir }}"; then terraform destroy -auto-approve
493-
else
494-
terraform destroy -auto-approve && exit 1
495-
fi
496-
497-
- name: Terraform destroy
498-
if: ${{ (cancelled() || failure()) }}
499-
uses: nick-fields/retry@v2
500-
with:
501-
max_attempts: 3
502-
timeout_minutes: 8
503-
retry_wait_seconds: 5
504-
command: |
505-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
506-
cd "${{ matrix.arrays.terraform_dir }}"
507-
else
508-
cd terraform/ec2/linux
509-
fi
510-
511-
terraform destroy -lock-timeout=5m -var="ami=${{ matrix.arrays.ami }}" --auto-approve
512-
513-
EC2WindowsWDIntegrationTest:
514-
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
515-
name: ${{matrix.arrays.testName}}
516-
runs-on: ubuntu-latest
517-
strategy:
518-
fail-fast: false
519-
matrix:
520-
arrays: ${{ fromJson(needs.GenerateTestMatrix.outputs.ec2_windows_wd_matrix) }}
521-
permissions:
522-
id-token: write
523-
contents: read
524-
steps:
525-
- uses: actions/checkout@v3
526-
with:
527-
repository: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
528-
ref: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
529-
530-
- name: Configure AWS Credentials
531-
uses: aws-actions/configure-aws-credentials@v4
532-
with:
533-
role-to-assume: ${{ env.TERRAFORM_AWS_ASSUME_ROLE }}
534-
aws-region: us-west-2
535-
role-duration-seconds: ${{ env.TERRAFORM_AWS_ASSUME_ROLE_DURATION }}
536-
537-
- name: Echo Test Info
538-
run: echo run on ec2 instance os ${{ matrix.arrays.os }} arc ${{ matrix.arrays.arc }} test dir ${{ matrix.arrays.test_dir }}
539-
540-
- name: Install Terraform
541-
uses: hashicorp/setup-terraform@v3
542-
with:
543-
terraform_version: 1.12.0
544-
545-
- name: Verify Terraform version
546-
run: terraform --version
547-
548-
- name: Terraform apply
549-
uses: nick-fields/retry@v2
550-
with:
551-
max_attempts: 3
552-
timeout_minutes: 60
553-
retry_wait_seconds: 5
554-
command: |
555-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
556-
cd "${{ matrix.arrays.terraform_dir }}"
557-
else
558-
cd terraform/ec2/win
559-
fi
560-
561-
terraform init
562-
if terraform apply --auto-approve \
563-
-var="ec2_instance_type=${{ matrix.arrays.instanceType }}" \
564-
-var="ssh_key_value=${PRIVATE_KEY}" \
565-
-var="ssh_key_name=${KEY_NAME}" \
566-
-var="test_name=${{ matrix.arrays.os }}" \
567-
-var="cwa_github_sha=${{ inputs.build_id }}" \
568-
-var="test_dir=${{ matrix.arrays.test_dir }}" \
569-
-var="ami=${{ matrix.arrays.ami }}" \
570-
-var="s3_bucket=${S3_INTEGRATION_BUCKET}" ; then
571-
terraform destroy -auto-approve
572-
else
573-
terraform destroy -auto-approve && exit 1
574-
fi
575-
576-
- name: Terraform destroy
577-
if: ${{ (cancelled() || failure()) }}
578-
uses: nick-fields/retry@v2
579-
with:
580-
max_attempts: 3
581-
timeout_minutes: 8
582-
retry_wait_seconds: 5
583-
command: |
584-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
585-
cd "${{ matrix.arrays.terraform_dir }}"
586-
else
587-
cd terraform/ec2/win
588-
fi
589-
590-
terraform destroy -lock-timeout=5m -var="ami=${{ matrix.arrays.ami }}" --auto-approve
591-
592-
593-
EC2NvidiaLinuxWDIntegrationTest:
594-
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
595-
name: ${{matrix.arrays.testName}}
596-
runs-on: ubuntu-latest
597-
strategy:
598-
fail-fast: false
599-
matrix:
600-
arrays: ${{ fromJson(needs.GenerateTestMatrix.outputs.ec2_linux_wd_nvidia_matrix) }}
601-
permissions:
602-
id-token: write
603-
contents: read
604-
steps:
605-
- uses: actions/checkout@v3
606-
with:
607-
repository: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
608-
ref: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
609-
610-
- name: Configure AWS Credentials
611-
uses: aws-actions/configure-aws-credentials@v4
612-
with:
613-
role-to-assume: ${{ env.TERRAFORM_AWS_ASSUME_ROLE }}
614-
aws-region: us-west-2
615-
role-duration-seconds: ${{ env.TERRAFORM_AWS_ASSUME_ROLE_DURATION }}
616-
617-
- name: Echo Test Info
618-
run: echo run on ec2 instance os ${{ matrix.arrays.os }} arc ${{ matrix.arrays.arc }} test dir ${{ matrix.arrays.test_dir }}
619-
620-
- name: Install Terraform
621-
uses: hashicorp/setup-terraform@v3
622-
with:
623-
terraform_version: 1.12.0
624-
625-
- name: Verify Terraform version
626-
run: terraform --version
627-
628-
- name: Terraform apply
629-
uses: nick-fields/retry@v2
630-
with:
631-
max_attempts: 3
632-
timeout_minutes: 30
633-
retry_wait_seconds: 5
634-
command: |
635-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
636-
cd "${{ matrix.arrays.terraform_dir }}"
637-
else
638-
cd terraform/ec2/linux
639-
fi
640-
641-
terraform init
642-
if terraform apply --auto-approve \
643-
-var="ssh_key_value=${{env.PRIVATE_KEY}}" \
644-
-var="github_test_repo=${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_URL }}" \
645-
-var="test_name=${{ matrix.arrays.os }}" \
646-
-var="cwa_github_sha=${{inputs.build_id}}" \
647-
-var="install_agent=${{ matrix.arrays.installAgentCommand }}" \
648-
-var="github_test_repo_branch=${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}" \
649-
-var="ec2_instance_type=${{ matrix.arrays.instanceType }}" \
650-
-var="user=${{ matrix.arrays.username }}" \
651-
-var="ami=${{ matrix.arrays.ami }}" \
652-
-var="ca_cert_path=${{ matrix.arrays.caCertPath }}" \
653-
-var="arc=${{ matrix.arrays.arc }}" \
654-
-var="binary_name=${{ matrix.arrays.binaryName }}" \
655-
-var="local_stack_host_name=${{ needs.StartLocalStack.outputs.local_stack_host_name }}" \
656-
-var="s3_bucket=${{ vars.S3_INTEGRATION_BUCKET }}" \
657-
-var="ssh_key_name=${{env.KEY_NAME}}" \
658-
-var="test_dir=${{ matrix.arrays.test_dir }}"; then terraform destroy -auto-approve
659-
else
660-
terraform destroy -auto-approve && exit 1
661-
fi
662-
663-
- name: Terraform destroy
664-
if: ${{ (cancelled() || failure()) }}
665-
uses: nick-fields/retry@v2
666-
with:
667-
max_attempts: 3
668-
timeout_minutes: 8
669-
retry_wait_seconds: 5
670-
command: |
671-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
672-
cd "${{ matrix.arrays.terraform_dir }}"
673-
else
674-
cd terraform/ec2/linux
675-
fi
676-
677-
terraform destroy -lock-timeout=5m -var="ami=${{ matrix.arrays.ami }}" --auto-approve
678-
679-
EC2NvidiaWindowsWDIntegrationTest:
680-
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
681-
name: ${{matrix.arrays.testName}}
682-
runs-on: ubuntu-latest
683-
strategy:
684-
fail-fast: false
685-
matrix:
686-
arrays: ${{ fromJson(needs.GenerateTestMatrix.outputs.ec2_windows_wd_nvidia_matrix) }}
687-
permissions:
688-
id-token: write
689-
contents: read
690-
steps:
691-
- uses: actions/checkout@v3
692-
with:
693-
repository: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_NAME }}
694-
ref: ${{ needs.OutputEnvVariables.outputs.CWA_GITHUB_TEST_REPO_BRANCH }}
695-
696-
- name: Configure AWS Credentials
697-
uses: aws-actions/configure-aws-credentials@v4
698-
with:
699-
role-to-assume: ${{ env.TERRAFORM_AWS_ASSUME_ROLE }}
700-
aws-region: us-west-2
701-
role-duration-seconds: ${{ env.TERRAFORM_AWS_ASSUME_ROLE_DURATION }}
702-
703-
- name: Echo Test Info
704-
run: echo run on ec2 instance os ${{ matrix.arrays.os }} arc ${{ matrix.arrays.arc }} test dir ${{ matrix.arrays.test_dir }}
705-
706-
- name: Install Terraform
707-
uses: hashicorp/setup-terraform@v3
708-
with:
709-
terraform_version: 1.12.0
710-
711-
- name: Verify Terraform version
712-
run: terraform --version
713-
714-
- name: Terraform apply
715-
uses: nick-fields/retry@v2
716-
with:
717-
max_attempts: 3
718-
timeout_minutes: 60
719-
retry_wait_seconds: 5
720-
command: |
721-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
722-
cd "${{ matrix.arrays.terraform_dir }}"
723-
else
724-
cd terraform/ec2/win
725-
fi
726-
727-
terraform init
728-
if terraform apply --auto-approve \
729-
-var="ec2_instance_type=${{ matrix.arrays.instanceType }}" \
730-
-var="ssh_key_value=${PRIVATE_KEY}" \
731-
-var="ssh_key_name=${KEY_NAME}" \
732-
-var="test_name=${{ matrix.arrays.os }}" \
733-
-var="cwa_github_sha=${{ inputs.build_id }}" \
734-
-var="test_dir=${{ matrix.arrays.test_dir }}" \
735-
-var="ami=${{ matrix.arrays.ami }}" \
736-
-var="s3_bucket=${S3_INTEGRATION_BUCKET}" ; then
737-
terraform destroy -auto-approve
738-
else
739-
terraform destroy -auto-approve && exit 1
740-
fi
741-
742-
- name: Terraform destroy
743-
if: ${{ (cancelled() || failure()) }}
744-
uses: nick-fields/retry@v2
745-
with:
746-
max_attempts: 3
747-
timeout_minutes: 8
748-
retry_wait_seconds: 5
749-
command: |
750-
if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then
751-
cd "${{ matrix.arrays.terraform_dir }}"
752-
else
753-
cd terraform/ec2/win
754-
fi
755-
756-
terraform destroy -lock-timeout=5m -var="ami=${{ matrix.arrays.ami }}" --auto-approve
757-
758417
EC2LinuxIntegrationTest:
759418
needs: [ StartLocalStack, GenerateTestMatrix, OutputEnvVariables ]
760419
name: 'EC2Linux'

0 commit comments

Comments
 (0)