Skip to content

Application Signals E2E Test #682

Application Signals E2E Test

Application Signals E2E Test #682

## 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