Skip to content

Commit 94822d9

Browse files
authored
Add EKS E2E canary tests (#111)
*Issue #, if available:* This PR add EKS e2e canary tests for three regions similar as [Java E2E canary tests](https://github.com/aws-observability/aws-application-signals-test-framework/blob/main/.github/workflows/appsignals-e2e-ec2-canary-test.yml). Will use release image and expand to all regions after CW Agent for python support image release. Tests: main_build: https://github.com/aws-observability/aws-otel-python-instrumentation/actions/runs/8236475755 canary tests: https://github.com/aws-observability/aws-otel-python-instrumentation/actions/runs/8236475753 By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
1 parent 0809554 commit 94822d9

File tree

3 files changed

+40
-4
lines changed

3 files changed

+40
-4
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
## SPDX-License-Identifier: Apache-2.0
3+
4+
## This workflow aims to run the Application Signals Python end-to-end tests as a canary to
5+
## test the artifacts for App Signals enablement. It will deploy a sample app and remote
6+
## service onto an EKS cluster, call the APIs, and validate the generated telemetry,
7+
## including logs, metrics, and traces.
8+
name: App Signals Enablement - Python E2E EKS Canary Testing
9+
on:
10+
schedule:
11+
- cron: '*/15 * * * *' # run the workflow every 15 minutes
12+
workflow_dispatch: # be able to run the workflow on demand
13+
14+
concurrency:
15+
group: ${{ github.workflow }}
16+
cancel-in-progress: false
17+
18+
permissions:
19+
id-token: write
20+
contents: read
21+
22+
23+
jobs:
24+
python-e2e-eks-test:
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
aws-region: ['us-west-1','us-east-1','us-east-2']
29+
uses: ./.github/workflows/appsignals-python-e2e-eks-test.yml
30+
secrets: inherit
31+
with:
32+
aws-region: ${{ matrix.aws-region }}
33+
test-cluster-name: 'e2e-python-canary-test'
34+
caller-workflow-name: 'appsignals-python-e2e-eks-canary-test'
35+
appsignals-adot-image: public.ecr.aws/aws-observability/adot-autoinstrumentation-python
36+
appsignals-adot-image-tag: v0.0.1

.github/workflows/appsignals-python-e2e-eks-test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ on:
1414
test-cluster-name:
1515
required: true
1616
type: string
17-
appsignals-adot-image-registry:
17+
appsignals-adot-image:
1818
required: false
1919
type: string
2020
appsignals-adot-image-tag:
@@ -125,9 +125,9 @@ jobs:
125125
sed -i 's/repository: cloudwatch-agent-operator/repository: cwagent-operator-pre-release/g' values.yaml
126126
sed -i 's/tag: 1.0.2/tag: latest/g' values.yaml
127127
sed -i '0,/public: public.ecr.aws\/cloudwatch-agent/s//public: ${{ secrets.TEST_CW_AGENT_REPO }}/' values.yaml
128-
if [ ${{ inputs.appsignals-adot-image-registry }} != "" ]; then
128+
if [ ${{ inputs.appsignals-adot-image }} != "" ]; then
129129
echo "Using provided AppSignals ADOT image"
130-
sed -i 's~repository: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python~repository: ${{ inputs.appsignals-adot-image-registry }}/aws-observability/adot-autoinstrumentation-python-staging~g' values.yaml
130+
sed -i 's~repository: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python~repository: ${{ inputs.appsignals-adot-image }}~g' values.yaml
131131
else
132132
echo "AppSignals ADOT image is not provided"
133133
sed -i 's~repository: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python~repository: ${{ secrets.TEMP_TEST_ADOT_PYTHON_IMAGE }}~g' values.yaml

.github/workflows/main_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
aws-region: ${{ needs.build.outputs.aws_default_region }}
9696
test-cluster-name: e2e-python-adot-test
9797
caller-workflow-name: 'main-build'
98-
appsignals-adot-image-registry: ${{ needs.build.outputs.staging_registry }}
98+
appsignals-adot-image: ${{ needs.build.outputs.staging_registry }}/aws-observability/adot-autoinstrumentation-python-staging
9999
appsignals-adot-image-tag: ${{ needs.build.outputs.python_image_tag }}
100100

101101
# AppSignals specific e2e tests for ec2

0 commit comments

Comments
 (0)