Application Signals E2E Test #682
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ## Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. | |
| ## SPDX-License-Identifier: Apache-2.0 | |
| # This is a reusable workflow for running the E2E test for Application Signals. | |
| # It is meant to be called from another workflow. | |
| # Read more about reusable workflows: https://docs.github.com/en/actions/using-workflows/reusing-workflows#overview | |
| name: Application Signals E2E Test | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| build_run_id: | |
| description: 'The ID of the build-test-artifacts workflow run' | |
| type: number | |
| required: true | |
| build_sha: | |
| description: 'The SHA of the build-test-artifacts workflow run' | |
| type: string | |
| required: true | |
| permissions: | |
| id-token: write | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref_name }} | |
| cancel-in-progress: true | |
| jobs: | |
| CheckBuildTestArtifacts: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - env: | |
| BUILD_SHA: ${{ inputs.build_sha }} | |
| GITHUB_SHA_VAL: ${{ github.sha }} | |
| run: | | |
| if [[ "$BUILD_SHA" == "$GITHUB_SHA_VAL" ]]; then | |
| echo "Build SHA matches test SHA" | |
| else | |
| echo "Build SHA does not match test SHA" | |
| exit 1 | |
| fi | |
| - run: | | |
| conclusion=$(gh run view ${{ inputs.build_run_id }} --repo $GITHUB_REPOSITORY --json conclusion -q '.conclusion') | |
| if [[ $conclusion == "success" ]]; then | |
| echo "Run succeeded" | |
| else | |
| echo "Run failed" | |
| exit 1 | |
| fi | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| java-eks-e2e-test: | |
| needs: CheckBuildTestArtifacts | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/java-eks-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| test-cluster-name: 'e2e-cw-agent-test' | |
| caller-workflow-name: 'main-build' | |
| java-ec2-default-e2e-test: | |
| needs: CheckBuildTestArtifacts | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/java-ec2-default-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| java-ec2-ubuntu-e2e-test: | |
| needs: CheckBuildTestArtifacts | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/java-ec2-ubuntu-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| java-ec2-asg-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/java-ec2-asg-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| java-metric-limiter-e2e-test: | |
| needs: [ CheckBuildTestArtifacts, java-eks-e2e-test ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/metric-limiter-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| test-cluster-name: 'e2e-cw-agent-test' | |
| caller-workflow-name: 'main-build' | |
| java-k8s-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/java-k8s-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| java-ecs-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/java-ecs-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| python-eks-e2e-test: | |
| needs: [ CheckBuildTestArtifacts, java-metric-limiter-e2e-test ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-eks-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| test-cluster-name: 'e2e-cw-agent-test' | |
| caller-workflow-name: 'main-build' | |
| python-ec2-default-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-ec2-default-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| python-ec2-asg-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-ec2-asg-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| python-k8s-e2e-test: | |
| needs: [ CheckBuildTestArtifacts, java-k8s-e2e-test ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-k8s-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| python-ecs-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-ecs-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| node-eks-e2e-test: | |
| # Because we share the same eks cluster for different languages, we want to run the tests sequentially to avoid interference | |
| needs: [ CheckBuildTestArtifacts, python-eks-e2e-test ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-eks-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| test-cluster-name: 'e2e-cw-agent-test' | |
| caller-workflow-name: 'main-build' | |
| node-ec2-default-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-ec2-default-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| node-ec2-asg-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-ec2-asg-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| node-k8s-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-k8s-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| node-ecs-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-ecs-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| dotnet-ec2-default-v8-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/dotnet-ec2-default-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| dotnet-version: '8.0' | |
| dotnet-ec2-windows-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/dotnet-ec2-windows-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| dotnet-ec2-linux-asg-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/dotnet-ec2-asg-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| dotnet-eks-e2e-test: | |
| needs: [ CheckBuildTestArtifacts, node-eks-e2e-test ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/dotnet-eks-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| test-cluster-name: 'e2e-cw-agent-test' | |
| caller-workflow-name: 'main-build' | |
| dotnet-eks-e2e-windows-test: | |
| needs: [ CheckBuildTestArtifacts, node-eks-e2e-test ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/dotnet-eks-windows-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| test-cluster-name: 'e2e-windows-cw-agent-test' | |
| caller-workflow-name: 'main-build' | |
| dotnet-k8s-e2e-test: | |
| needs: [ CheckBuildTestArtifacts ] | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/dotnet-k8s-test.yml@main | |
| secrets: inherit | |
| with: | |
| aws-region: us-east-1 | |
| caller-workflow-name: 'main-build' | |
| # This validation is to ensure that all test workflows relevant to this repo are actually | |
| # being used in this repo, which is referring to all the other jobs in this file. | |
| # | |
| # If this starts failing, then it most likely means that new e2e test workflow was | |
| # added to `aws-observability/aws-application-signals-test-framework`, but was not | |
| # added to this file. It could also mean that a test in this file has been removed. | |
| # | |
| # If a particular test file is intended to not be tested in this repo and should not | |
| # be failing this particular validation, then choose one of the following options: | |
| # - Add the test file to the exclusions input (CSV format) to the workflow | |
| # (see: https://github.com/aws-observability/aws-application-signals-test-framework/blob/main/.github/workflows/validate-e2e-tests-are-accounted-for.yml#L1) | |
| # - Update the `validate-e2e-tests-are-accounted-for` job to change which "workflow files are expected to be used by this repo" | |
| # (see: https://github.com/aws-observability/aws-application-signals-test-framework/blob/main/.github/workflows/validate-e2e-tests-are-accounted-for.yml) | |
| validate-all-tests-are-accounted-for: | |
| uses: aws-observability/aws-application-signals-test-framework/.github/workflows/validate-e2e-tests-are-accounted-for.yml@main | |
| with: | |
| exclusions: dotnet-ec2-nuget-test.yml |