66# Read more about reusable workflows: https://docs.github.com/en/actions/using-workflows/reusing-workflows#overview
77name : Node EC2 ADOT SigV4 Use Case
88on :
9+ push :
10+ branches :
11+ - Node_SigV4_logs_release_testing
912 workflow_call :
1013 inputs :
1114 caller-workflow-name :
@@ -34,13 +37,14 @@ permissions:
3437env :
3538 E2E_TEST_AWS_REGION : ' us-west-2'
3639 CALLER_WORKFLOW_NAME : ${{ inputs.caller-workflow-name }}
37- NODE_VERSION : ${{ inputs.node-version }}
38- CPU_ARCHITECTURE : ${{ inputs.cpu-architecture }}
39- ADOT_INSTRUMENTATION_NAME : ${{ inputs.staging-instrumentation-name }}
40+ NODE_VERSION : ${{ inputs.node-version || 'none' }}
41+ CPU_ARCHITECTURE : ${{ inputs.cpu-architecture || 'x86_64' }}
42+ ADOT_INSTRUMENTATION_NAME : ${{ inputs.staging-instrumentation-name || 'aws-aws-distro-opentelemetry-node-autoinstrumentation-0.6.0-dev0.tgz' }}
4043 E2E_TEST_ACCOUNT_ID : ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ACCOUNT_ID }}
4144 E2E_TEST_ROLE_NAME : ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ROLE_NAME }}
4245 METRIC_NAMESPACE : ApplicationSignals
43- LOG_GROUP_NAME : aws/spans
46+ SPANS_LOG_GROUP_NAME : aws/spans
47+ APPLICATION_LOGS_LOG_GROUP_NAME : otlp_logs # This log group was created manually to store application logs
4448 TEST_RESOURCES_FOLDER : ${GITHUB_WORKSPACE}
4549
4650jobs :
@@ -80,11 +84,11 @@ jobs:
8084
8185 - name : Set Get ADOT Instrumentation command environment variable
8286 run : |
83- if [ "${{ github.event.repository.name }}" = "aws-otel-js-instrumentation" ]; then
84- echo GET_ADOT_INSTRUMENTATION_COMMAND="aws s3 cp s3://adot-autoinstrumentation-node-staging/${{ env.ADOT_INSTRUMENTATION_NAME }} ./${{ env.ADOT_INSTRUMENTATION_NAME }} --region us-east-1 && npm install ${{ env.ADOT_INSTRUMENTATION_NAME }}" >> $GITHUB_ENV
85- else
86- echo GET_ADOT_INSTRUMENTATION_COMMAND="npm install ${{ env.ADOT_INSTRUMENTATION_NAME }}" >> $GITHUB_ENV
87- fi
87+ # if [ "${{ github.event.repository.name }}" = "aws-otel-js-instrumentation" ]; then
88+ echo GET_ADOT_INSTRUMENTATION_COMMAND="aws s3 cp s3://adot-autoinstrumentation-node-staging/${{ env.ADOT_INSTRUMENTATION_NAME }} ./${{ env.ADOT_INSTRUMENTATION_NAME }} --region us-east-1 && npm install ${{ env.ADOT_INSTRUMENTATION_NAME }}" >> $GITHUB_ENV
89+ # else
90+ # echo GET_ADOT_INSTRUMENTATION_COMMAND="npm install ${{ env.ADOT_INSTRUMENTATION_NAME }}" >> $GITHUB_ENV
91+ # fi
8892
8993 - name : Set up terraform
9094 uses : ./.github/workflows/actions/execute_and_retry
@@ -121,6 +125,7 @@ jobs:
121125 -var="get_adot_instrumentation_command=${{ env.GET_ADOT_INSTRUMENTATION_COMMAND }}" \
122126 -var="language_version=${{ env.NODE_VERSION }}" \
123127 -var="cpu_architecture=${{ env.CPU_ARCHITECTURE }}" \
128+ -var="application_logs_log_group=${{ env.APPLICATION_LOGS_LOG_GROUP_NAME }}" \
124129 || deployment_failed=$?
125130
126131 if [ $deployment_failed -eq 1 ]; then
@@ -171,14 +176,14 @@ jobs:
171176 # Validation for pulse telemetry data
172177 - name : Validate generated EMF logs
173178 id : log-validation
174- run : ./gradlew validator:run --args='-c node/ec2/adot-sigv4 /log-validation.yml
179+ run : ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp /log-validation.yml
175180 --testing-id ${{ env.TESTING_ID }}
176181 --endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
177182 --remote-service-deployment-name ${{ env.REMOTE_SERVICE_IP }}:8001
178183 --region ${{ env.E2E_TEST_AWS_REGION }}
179184 --account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
180185 --metric-namespace ${{ env.METRIC_NAMESPACE }}
181- --log-group ${{ env.LOG_GROUP_NAME }}
186+ --log-group ${{ env.SPANS_LOG_GROUP_NAME }}
182187 --service-name node-sample-application-${{ env.TESTING_ID }}
183188 --remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
184189 --query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}
@@ -189,14 +194,14 @@ jobs:
189194 - name : Validate generated metrics
190195 id : metric-validation
191196 if : (success() || steps.log-validation.outcome == 'failure') && !cancelled()
192- run : ./gradlew validator:run --args='-c node/ec2/adot-sigv4 /metric-validation.yml
197+ run : ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp /metric-validation.yml
193198 --testing-id ${{ env.TESTING_ID }}
194199 --endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
195200 --remote-service-deployment-name node-sample-remote-application-${{ env.TESTING_ID }}
196201 --region ${{ env.E2E_TEST_AWS_REGION }}
197202 --account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
198203 --metric-namespace ${{ env.METRIC_NAMESPACE }}
199- --log-group ${{ env.LOG_GROUP_NAME }}
204+ --log-group ${{ env.SPANS_LOG_GROUP_NAME }}
200205 --service-name node-sample-application-${{ env.TESTING_ID }}
201206 --remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
202207 --query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}
@@ -207,14 +212,31 @@ jobs:
207212 - name : Validate generated traces
208213 id : trace-validation
209214 if : (success() || steps.log-validation.outcome == 'failure' || steps.metric-validation.outcome == 'failure') && !cancelled()
210- run : ./gradlew validator:run --args='-c node/ec2/adot-sigv4 /trace-validation.yml
215+ run : ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp /trace-validation.yml
211216 --testing-id ${{ env.TESTING_ID }}
212217 --endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
213218 --remote-service-deployment-name ${{ env.REMOTE_SERVICE_IP }}:8001
214219 --region ${{ env.E2E_TEST_AWS_REGION }}
215220 --account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
216221 --metric-namespace ${{ env.METRIC_NAMESPACE }}
217- --log-group ${{ env.LOG_GROUP_NAME }}
222+ --log-group ${{ env.SPANS_LOG_GROUP_NAME }}
223+ --service-name node-sample-application-${{ env.TESTING_ID }}
224+ --remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
225+ --query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}
226+ --instance-ami ${{ env.EC2_INSTANCE_AMI }}
227+ --instance-id ${{ env.MAIN_SERVICE_INSTANCE_ID }}
228+ --rollup'
229+
230+ - name : Validate generated otlp logs
231+ id : application-log-validation
232+ run : ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp/application-log-validation.yml
233+ --testing-id ${{ env.TESTING_ID }}
234+ --endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
235+ --remote-service-deployment-name ${{ env.REMOTE_SERVICE_IP }}:8001
236+ --region ${{ env.E2E_TEST_AWS_REGION }}
237+ --account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
238+ --metric-namespace ${{ env.METRIC_NAMESPACE }}
239+ --log-group ${{ env.APPLICATION_LOGS_LOG_GROUP_NAME }}
218240 --service-name node-sample-application-${{ env.TESTING_ID }}
219241 --remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
220242 --query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}
0 commit comments