Skip to content

Commit bb4dab0

Browse files
author
Anuraag Agrawal
committed
Use docker-compose to run integration test containers together for better logging.
1 parent 8c78d12 commit bb4dab0

File tree

3 files changed

+43
-65
lines changed

3 files changed

+43
-65
lines changed

.github/collector/otel/collector-config.yml renamed to .github/collector/collector-config.yml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,12 @@ exporters:
99
loglevel: info
1010
awsxray:
1111
region: us-west-2
12-
local_mode: true
13-
no_verify_ssl: true
1412
awsemf:
1513
region: us-west-2
1614

17-
processors:
18-
memory_limiter:
19-
limit_mib: 100
20-
check_interval: 5s
21-
batch:
22-
queued_retry:
23-
2415
service:
2516
pipelines:
2617
traces:
27-
processors:
28-
- memory_limiter
2918
receivers:
3019
- otlp
3120
exporters:

.github/collector/docker-compose.yml

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,37 @@
1-
version: "3.2"
1+
version: "3.7"
22
services:
33
otel:
44
image: amazon/aws-otel-collector:latest
55
command: --config /config/collector-config.yml --log-level debug
66
volumes:
7-
- ./otel:/config
7+
- .:/config
88
environment:
9-
AWS_ACCESS_KEY_ID: ${ACCESS_KEY}
10-
AWS_SECRET_ACCESS_KEY: ${SECRET_ACCESS_KEY}
9+
- AWS_ACCESS_KEY_ID
10+
- AWS_SECRET_ACCESS_KEY
1111
ports:
1212
- '4317:4317'
13+
14+
app:
15+
image: ${APP_IMAGE}
16+
environment:
17+
- AWS_ACCESS_KEY_ID
18+
- AWS_SECRET_ACCESS_KEY
19+
- INSTANCE_ID
20+
- LISTEN_ADDRESS
21+
- AWS_REGION=us-west-2
22+
- OTEL_RESOURCE_ATTRIBUTES=service.name=aws-otel-integ-test
23+
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel:4317
24+
ports:
25+
- '4567:4567'
26+
- '8080:8080'
27+
28+
validator:
29+
image: public.ecr.aws/u0d6r4y4/aws-otel-test-validator:alpha
30+
command: ${VALIDATOR_COMMAND}
31+
depends_on:
32+
- otel
33+
- app
34+
environment:
35+
- AWS_ACCESS_KEY_ID
36+
- AWS_SECRET_ACCESS_KEY
37+
- AWS_REGION=us-west-2

.github/workflows/main-build.yml

Lines changed: 14 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -70,34 +70,16 @@ jobs:
7070
with:
7171
registry: public.ecr.aws
7272

73-
- name: Setup and Run OTel Collector
74-
run: |
75-
docker-compose -f .github/collector/docker-compose.yml up &
76-
env:
77-
ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY_ID }}
78-
SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
79-
80-
- name: Run Springboot App with Java agent
81-
run: |
82-
docker run -e AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} -e AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} -e AWS_REGION=us-west-2 -e INSTANCE_ID=${{ github.run_id }}-${{ github.run_number }} -e LISTEN_ADDRESS=0.0.0.0:8080 -e OTEL_RESOURCE_ATTRIBUTES="service.name=aws-otel-integ-test" -e OTEL_EXPORTER_OTLP_ENDPOINT=http://172.17.0.1:4317 -p 8080:8080 public.ecr.aws/u0d6r4y4/aws-otel-java-test-springboot:${{ github.sha }} &
83-
84-
- name: Directory to checkout test framework
85-
run: mkdir test-framework
86-
87-
- name: Checkout test framework
88-
uses: actions/checkout@v2
89-
with:
90-
repository: aws-observability/aws-otel-test-framework
91-
ref: terraform
92-
path: test-framework
93-
94-
- name: Run testing suite
95-
run: ./gradlew :validator:run --args='-c springboot-otel-trace-metric-validation.yml --endpoint http://127.0.0.1:8080 --metric-namespace aws-otel-integ-test -t ${{ github.run_id }}-${{ github.run_number }}'
73+
- name: Run test containers
74+
run: docker-compose up --abort-on-container-exit
75+
working-directory: .github/collector
9676
env:
9777
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
9878
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
99-
AWS_REGION: us-west-2
100-
working-directory: test-framework
79+
INSTANCE_ID: ${{ github.run_id }}-${{ github.run_number }}
80+
LISTEN_ADDRESS: 0.0.0.0:8080
81+
APP_IMAGE: public.ecr.aws/u0d6r4y4/aws-otel-java-test-springboot:${{ github.sha }}
82+
VALIDATOR_COMMAND: -c springboot-otel-trace-metric-validation.yml --endpoint http://app:8080 --metric-namespace aws-otel-integ-test -t ${{ github.run_id }}-${{ github.run_number }}
10183

10284
test_Spark_App_With_Java_Agent:
10385
name: Test Spark App with AWS OTel Java agent
@@ -122,31 +104,13 @@ jobs:
122104
id: login-ecr
123105
uses: aws-actions/amazon-ecr-login@v1
124106

125-
- name: Setup and Run OTel Collector
126-
run: |
127-
docker-compose -f .github/collector/docker-compose.yml up &
128-
env:
129-
ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY_ID }}
130-
SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
131-
132-
- name: Run Spark App with Java agent
133-
run: |
134-
docker run -e AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} -e AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} -e AWS_REGION=us-west-2 -e INSTANCE_ID=${{ github.run_id }}-${{ github.run_number }} -e LISTEN_ADDRESS=0.0.0.0:4567 -e OTEL_EXPORTER_OTLP_ENDPOINT=http://172.17.0.1:4317 -e OTEL_RESOURCE_ATTRIBUTES="service.name=aws-otel-integ-test" -p 4567:4567 public.ecr.aws/u0d6r4y4/aws-otel-java-test-spark:${{ github.sha }} &
135-
136-
- name: Directory to checkout test framework
137-
run: mkdir test-framework
138-
139-
- name: Checkout test framework
140-
uses: actions/checkout@v2
141-
with:
142-
repository: aws-observability/aws-otel-test-framework
143-
ref: terraform
144-
path: test-framework
145-
146-
- name: Run testing suite
147-
run: ./gradlew :validator:run --args='-c spark-otel-trace-metric-validation.yml --endpoint http://127.0.0.1:4567 --metric-namespace aws-otel-integ-test -t ${{ github.run_id }}-${{ github.run_number }}'
107+
- name: Run test containers
108+
run: docker-compose up --abort-on-container-exit
109+
working-directory: .github/collector
148110
env:
149111
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
150112
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
151-
AWS_REGION: us-west-2
152-
working-directory: test-framework
113+
INSTANCE_ID: ${{ github.run_id }}-${{ github.run_number }}
114+
LISTEN_ADDRESS: 0.0.0.0:4567
115+
APP_IMAGE: public.ecr.aws/u0d6r4y4/aws-otel-java-test-spark:${{ github.sha }}
116+
VALIDATOR_COMMAND: -c spark-otel-trace-metric-validation.yml --endpoint http://app:4567 --metric-namespace aws-otel-integ-test -t ${{ github.run_id }}-${{ github.run_number }}

0 commit comments

Comments
 (0)