1212 caller-workflow-name :
1313 required : true
1414 type : string
15+ python-version :
16+ description : " Currently support version 3.9, 3.10, 3.11, 3.12, 3.13"
17+ required : false
18+ type : string
19+ default : ' 3.12'
1520 cpu-architecture :
1621 description : " Permitted values: x86_64 or arm64"
1722 required : false
3136 E2E_TEST_ACCOUNT_ID : ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ACCOUNT_ID }}
3237 E2E_TEST_ROLE_NAME : ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ROLE_NAME }}
3338 ADOT_WHEEL_NAME : ${{ inputs.staging-wheel-name }}
39+ PYTHON_VERSION : ${{ inputs.python-version }}
3440 METRIC_NAMESPACE : genesis
3541 LOG_GROUP_NAME : test/genesis
3642 TEST_RESOURCES_FOLDER : ${GITHUB_WORKSPACE}
@@ -44,18 +50,18 @@ jobs:
4450 - uses : actions/checkout@v4
4551
4652 - name : Set Get ADOT Wheel command environment variable
47- run : echo GET_ADOT_WHEEL_COMMAND="aws s3 cp s3://adot-main-build-staging-jar/${{ env.ADOT_WHEEL_NAME }} ./${{ env.ADOT_WHEEL_NAME }} && sudo python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ADOT_WHEEL_NAME }}" >> $GITHUB_ENV
48- # if [ "${{ github.event.repository.name }}" = "aws-otel-python-instrumentation" ]; then
49- # # Reusing the adot-main-build-staging-jar bucket to store the python wheel file
50- # echo GET_ADOT_WHEEL_COMMAND="aws s3 cp s3://adot-main-build-staging-jar/${{ env.ADOT_WHEEL_NAME }} ./${{ env.ADOT_WHEEL_NAME }} && sudo python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ADOT_WHEEL_NAME }}" >> $GITHUB_ENV
51- # elif [ "${{ env.OTEL_SOURCE }}" == "pypi" ]; then
52- # echo GET_ADOT_WHEEL_COMMAND="sudo python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ADOT_WHEEL_NAME }}" >> $GITHUB_ENV
53- # else
54- # latest_release_version=$(curl -sL https://github.com/aws-observability/aws-otel-python-instrumentation/releases/latest | grep -oP '/releases/tag/v\K[0-9]+\.[0-9]+\.[0-9]+' | head -n 1)
55- # echo "The latest version is $latest_release_version"
56- # echo GET_ADOT_WHEEL_COMMAND="wget -O ${{ env.ADOT_WHEEL_NAME }} https://github.com/aws-observability/aws-otel-python-instrumentation/releases/latest/download/aws_opentelemetry_distro-$latest_release_version-py3-none-any.whl \
57- # && sudo python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ADOT_WHEEL_NAME }}" >> $GITHUB_ENV
58- # fi
53+ run : |
54+ if [ "${{ github.event.repository.name }}" = "aws-otel-python-instrumentation" ]; then
55+ # Reusing the adot-main-build-staging-jar bucket to store the python wheel file
56+ echo GET_ADOT_WHEEL_COMMAND="aws s3 cp s3://adot-main-build-staging-jar/${{ env.ADOT_WHEEL_NAME }} ./${{ env.ADOT_WHEEL_NAME }} && python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ADOT_WHEEL_NAME }}" >> $GITHUB_ENV
57+ elif [ "${{ env.OTEL_SOURCE }}" == "pypi" ]; then
58+ echo GET_ADOT_WHEEL_COMMAND="python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ADOT_WHEEL_NAME }}" >> $GITHUB_ENV
59+ else
60+ latest_release_version=$(curl -sL https://github.com/aws-observability/aws-otel-python-instrumentation/releases/latest | grep -oP '/releases/tag/v\K[0-9]+\.[0-9]+\.[0-9]+' | head -n 1)
61+ echo "The latest version is $latest_release_version"
62+ echo GET_ADOT_WHEEL_COMMAND="wget -O ${{ env.ADOT_WHEEL_NAME }} https://github.com/aws-observability/aws-otel-python-instrumentation/releases/latest/download/aws_opentelemetry_distro-$latest_release_version-py3-none-any.whl \
63+ && python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ADOT_WHEEL_NAME }}" >> $GITHUB_ENV
64+ fi
5965
6066 - name : Initiate Gradlew Daemon
6167 uses : ./.github/workflows/actions/execute_and_retry
@@ -75,10 +81,14 @@ jobs:
7581 ID_2="$(openssl rand -hex 12)"
7682 W3C_TRACE_ID="${ID_1}${ID_2}"
7783 XRAY_TRACE_ID="1-${ID_1}-${ID_2}"
84+ PARENT_ID="$(openssl rand -hex 8)"
85+ TRACE_ID_HEADER="Root=${XRAY_TRACE_ID};Parent=${PARENT_ID};Sampled=1"
7886 echo "XRAY_TRACE_ID=${XRAY_TRACE_ID}" >> $GITHUB_ENV
7987 echo "W3C_TRACE_ID=${W3C_TRACE_ID}" >> $GITHUB_ENV
88+ echo "TRACE_ID_HEADER=${TRACE_ID_HEADER}" >> $GITHUB_ENV
8089 echo "Generated XRay Trace ID: ${XRAY_TRACE_ID}"
8190 echo "Generated W3C Trace ID: ${W3C_TRACE_ID}"
91+ echo "Generated Trace ID Header: ${TRACE_ID_HEADER}"
8292
8393 - name : Configure AWS Credentials
8494 uses : aws-actions/configure-aws-credentials@v4
@@ -107,15 +117,17 @@ jobs:
107117 -var="aws_region=${{ env.E2E_TEST_AWS_REGION }}" \
108118 -var="test_id=${{ env.TESTING_ID }}" \
109119 -var="service_zip_url=${{ env.SAMPLE_APP_ZIP }}" \
110- -var="trace_id=Root=${{ env.XRAY_TRACE_ID }};Parent=$(openssl rand -hex 8);Sampled=1"
120+ -var="trace_id=${{ env.TRACE_ID_HEADER }}" \
121+ -var="get_adot_wheel_command=${{ env.GET_ADOT_WHEEL_COMMAND }}" \
122+ -var="python_version=${{ env.PYTHON_VERSION }}"
111123
112124 - name : Get deployment info
113125 working-directory : terraform/python/ec2/adot-genai
114126 run : |
115127 echo "INSTANCE_IP=$(terraform output langchain_service_public_ip)" >> $GITHUB_ENV
116128 echo "INSTANCE_ID=$(terraform output langchain_service_instance_id)" >> $GITHUB_ENV
117129
118- - name : Wait for Gen AI service to be ready and emit logs, traces, and metrics
130+ - name : Waiting 5 Minutes for Gen AI service to be ready and emit logs, traces, and metrics
119131 run : sleep 300
120132
121133 - name : Validate generated logs
@@ -166,5 +178,5 @@ jobs:
166178 -var="aws_region=${{ env.E2E_TEST_AWS_REGION }}" \
167179 -var="test_id=${{ env.TESTING_ID }}" \
168180 -var="service_zip_url=${{ env.SAMPLE_APP_ZIP }}" \
169- -var="trace_id=Root= ${{ env.XRAY_TRACE_ID }};Parent=53995c3f42cd8ad8;Sampled=1"
170-
181+ -var="trace_id=${{ env.TRACE_ID_HEADER }}" \
182+ -var="get_adot_wheel_command=${{ env.GET_ADOT_WHEEL_COMMAND }}"
0 commit comments