Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 12 additions & 68 deletions .github/workflows/main-build-nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ permissions:
contents: read

jobs:
integration-test:
build-zip:
runs-on: ubuntu-22.04
name: nodejs-wrapper-${{ matrix.architecture }}
strategy:
Expand Down Expand Up @@ -44,79 +44,23 @@ jobs:
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-node-
- uses: aws-actions/configure-aws-credentials@v4.0.2
with:
role-to-assume: ${{ secrets.INTEG_TEST_LAMBDA_ROLE_ARN }}
role-duration-seconds: 7200
aws-region: us-east-1
- name: Generate UUID
id: generate-uuid
run: |
UUID=$(uuidgen | cut -c1-4)
echo "uuid=$UUID" >> $GITHUB_OUTPUT
- name: Patch ADOT
run: ./patch-upstream.sh
- name: Login to Public ECR
uses: docker/login-action@v3
with:
registry: public.ecr.aws
- name: Build layers / functions
#- name: Patch ADOT
# run: ./patch-upstream.sh

- name: Build layer Zip
run: GOARCH=${{ matrix.architecture }} ./build.sh ${{ matrix.architecture }}
working-directory: nodejs
- name: find all zip hashFiles
run: find . -type f -name '*.zip'
- name: Get Lambda Layer amd64 architecture value
if: ${{ matrix.architecture == 'amd64' }}
run: echo LAMBDA_FUNCTION_ARCH=x86_64 | tee --append $GITHUB_ENV
- name: Get Lambda Layer arm64 architecture value
if: ${{ matrix.architecture == 'arm64' }}
run: echo LAMBDA_FUNCTION_ARCH=arm64 | tee --append $GITHUB_ENV
- name: Get terraform directory
run: |
echo TERRAFORM_DIRECTORY=nodejs/integration-tests/aws-sdk/wrapper |
tee --append $GITHUB_ENV
- uses: hashicorp/setup-terraform@v2
- name: Initialize terraform
run: terraform init
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
- name: Get terraform Lambda function name
run: |
echo TERRAFORM_LAMBDA_FUNCTION_NAME=lambda-nodejs-${{ matrix.architecture }}-${{ steps.generate-uuid.outputs.uuid }} |
tee --append $GITHUB_ENV
- name: Apply terraform
run: terraform apply -auto-approve
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
env:
TF_VAR_sdk_layer_name: opentelemetry-nodejs-aws-sdk-wrapper-${{ matrix.architecture }}
TF_VAR_function_name: ${{ env.TERRAFORM_LAMBDA_FUNCTION_NAME }}
TF_VAR_architecture: ${{ env.LAMBDA_FUNCTION_ARCH }}
TF_VAR_runtime: ${{ matrix.runtime }}
- name: Extract endpoint
id: extract-endpoint
run: terraform output -raw api-gateway-url
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
- name: Extract SDK layer arn
id: extract-sdk-layer-arn
run: terraform output -raw sdk_layer_arn
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
- name: Output annotations
run: |
echo "::warning::Function: ${{ env.TERRAFORM_LAMBDA_FUNCTION_NAME }}"
echo "::warning::SDK Layer ARN: ${{ steps.extract-sdk-layer-arn.outputs.stdout }}"
- name: Send request to endpoint
run: curl -sS ${{ steps.extract-endpoint.outputs.stdout }}
- name: Checkout test framework
uses: actions/checkout@v4
- name: upload built ZIP as artifact
uses: actions/upload-artifact@v4
with:
repository: aws-observability/aws-otel-test-framework
path: test-framework
- name: validate trace sample
run: |
cp adot/utils/expected-templates/nodejs-aws-sdk-wrapper.json \
test-framework/validator/src/main/resources/expected-data-template/lambdaExpectedTrace.mustache
cd test-framework
./gradlew :validator:run --args="-c default-lambda-validation.yml --endpoint ${{ steps.extract-endpoint.outputs.stdout }} --region $AWS_REGION"
- name: Destroy terraform
if: always()
run: terraform destroy -auto-approve
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
env:
TF_VAR_architecture: ${{ env.LAMBDA_FUNCTION_ARCH }}
name: nodejs-layer-${{matrix.runtime}}-${{matrix.architecture }}
path: |
./opentelemetry-lambda/**/*.zip
2 changes: 1 addition & 1 deletion opentelemetry-lambda
Submodule opentelemetry-lambda updated 81 files
+1 −1 .github/workflows/check-links.yaml
+11 −8 .github/workflows/ci-collector.yml
+6 −4 .github/workflows/ci-java.yml
+9 −3 .github/workflows/ci-nodejs.yml
+6 −3 .github/workflows/ci-python.yml
+4 −1 .github/workflows/ci-shellcheck.yml
+5 −2 .github/workflows/ci-terraform.yml
+5 −3 .github/workflows/close-stale.yaml
+10 −7 .github/workflows/codeql.yml
+1 −1 .github/workflows/fossa.yml
+2 −2 .github/workflows/layer-publish.yml
+2 −2 .github/workflows/ossf-scorecard.yml
+10 −4 .github/workflows/publish-layer-collector.yml
+13 −7 .github/workflows/release-layer-collector.yml
+16 −7 .github/workflows/release-layer-java.yml
+13 −7 .github/workflows/release-layer-nodejs.yml
+12 −6 .github/workflows/release-layer-python.yml
+12 −6 .github/workflows/release-layer-ruby.yml
+32 −16 README.md
+1 −1 collector/Makefile
+189 −156 collector/go.mod
+561 −323 collector/go.sum
+23 −23 collector/internal/tools/go.mod
+46 −46 collector/internal/tools/go.sum
+176 −143 collector/lambdacomponents/go.mod
+543 −305 collector/lambdacomponents/go.sum
+1 −1 collector/lambdalifecycle/go.mod
+29 −29 collector/processor/coldstartprocessor/go.mod
+58 −56 collector/processor/coldstartprocessor/go.sum
+35 −33 collector/processor/decoupleprocessor/go.mod
+71 −64 collector/processor/decoupleprocessor/go.sum
+40 −35 collector/receiver/telemetryapireceiver/go.mod
+78 −71 collector/receiver/telemetryapireceiver/go.sum
+4 −0 collector/receiver/telemetryapireceiver/receiver.go
+44 −44 go/sample-apps/function/go.mod
+90 −88 go/sample-apps/function/go.sum
+5 −5 java/dependencyManagement/build.gradle.kts
+1 −1 java/settings.gradle.kts
+4,773 −3,010 nodejs/package-lock.json
+2 −2 nodejs/package.json
+0 −4,016 nodejs/packages/layer/package-lock.json
+47 −48 nodejs/packages/layer/package.json
+0 −1 nodejs/packages/layer/scripts/version.js
+0 −24 nodejs/packages/layer/src/LambdaTracerProvider.ts
+3 −2 nodejs/packages/layer/src/init.mjs
+80 −31 nodejs/packages/layer/src/wrapper.ts
+1 −1 nodejs/packages/layer/test/handler.spec.mjs
+1 −1 nodejs/packages/layer/test/handler.spec.ts
+57 −2 nodejs/packages/layer/test/wrapper.spec.ts
+3 −0 nodejs/sample-apps/aws-sdk/.eslintignore
+1 −1 nodejs/sample-apps/aws-sdk/.eslintrc.js
+2 −0 nodejs/sample-apps/aws-sdk/.gitignore
+73 −11 nodejs/sample-apps/aws-sdk/README.md
+6 −0 nodejs/sample-apps/aws-sdk/bin/app.ts
+3 −0 nodejs/sample-apps/aws-sdk/cdk.json
+12 −18 nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf
+16 −11 nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf
+40 −0 nodejs/sample-apps/aws-sdk/lambda/index.ts
+40 −0 nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts
+18 −18 nodejs/sample-apps/aws-sdk/package-lock.json
+6 −7 nodejs/sample-apps/aws-sdk/package.json
+ nodejs/sample-apps/aws-sdk/sampleLogOutput.png
+0 −22 nodejs/sample-apps/aws-sdk/src/index.ts
+1 −2 nodejs/sample-apps/aws-sdk/tsconfig.json
+1 −1 nodejs/tsconfig.base.json
+2 −2 nodejs/tsconfig.esm.json
+1 −1 python/sample-apps/aws-sdk/deploy/wrapper/main.tf
+1 −1 python/sample-apps/template.yml
+3 −1 python/src/otel/Dockerfile
+1 −0 python/src/otel/Makefile
+2 −2 python/src/otel/otel_sdk/nodeps-requirements.txt
+41 −0 python/src/otel/otel_sdk/otel-handler
+4 −0 python/src/otel/otel_sdk/otel-instrument
+33 −33 python/src/otel/otel_sdk/requirements.txt
+1 −1 python/src/otel/tests/nodeps-requirements.txt
+3 −3 python/src/otel/tests/requirements.txt
+15 −5 python/src/otel/tests/test_otel.py
+16 −17 ruby/README.md
+18 −2 ruby/src/otel/Dockerfile
+1 −1 ruby/src/otel/layer/Gemfile
+34 −6 ruby/src/otel/layer/wrapper.rb