diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 66cd13c4f..588c084c2 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -67,7 +67,7 @@ jobs: submodules: recursive - uses: actions/setup-go@v5 with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - uses: actions/setup-java@v4 if: ${{ matrix.language == 'java' }} diff --git a/.github/workflows/main-build-java.yml b/.github/workflows/main-build-java.yml index 126b762cb..d7817457d 100644 --- a/.github/workflows/main-build-java.yml +++ b/.github/workflows/main-build-java.yml @@ -85,7 +85,7 @@ jobs: submodules: recursive - uses: actions/setup-go@v5 with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - uses: actions/setup-java@v4 with: diff --git a/.github/workflows/main-build-nodejs.yml b/.github/workflows/main-build-nodejs.yml index d99e6534d..de4c816b7 100644 --- a/.github/workflows/main-build-nodejs.yml +++ b/.github/workflows/main-build-nodejs.yml @@ -30,7 +30,7 @@ jobs: submodules: recursive - uses: actions/setup-go@v5 with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - uses: actions/setup-node@v4 with: diff --git a/.github/workflows/main-build-python.yml b/.github/workflows/main-build-python.yml index b326316ee..cac1c010c 100644 --- a/.github/workflows/main-build-python.yml +++ b/.github/workflows/main-build-python.yml @@ -30,7 +30,7 @@ jobs: submodules: recursive - uses: actions/setup-go@v5 with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - uses: actions/setup-python@v5 with: diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index 7060250d1..6724552e5 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -40,7 +40,7 @@ jobs: submodules: recursive - uses: actions/setup-go@v5 with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - uses: actions/setup-dotnet@v4 if: ${{ matrix.language == 'dotnet' }} diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 66fc404bf..0f43d2393 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -24,7 +24,7 @@ jobs: submodules: true - uses: actions/setup-go@v5 with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - uses: actions/setup-java@v4 if: ${{ matrix.language == 'java' }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7385b0d9f..f1d360fac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -273,7 +273,7 @@ jobs: # above, always setup go 1.18. # if: ${{ env.TEST_LANGUAGE == 'go' }} with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - name: download layer tf file uses: actions/download-artifact@v4 diff --git a/.github/workflows/soaking.yml b/.github/workflows/soaking.yml index a17e6b662..e23a93028 100644 --- a/.github/workflows/soaking.yml +++ b/.github/workflows/soaking.yml @@ -67,7 +67,7 @@ jobs: submodules: recursive - uses: actions/setup-go@v5 with: - go-version: '~1.24.3' + go-version: '~1.26.2' check-latest: true - uses: actions/setup-java@v4 if: ${{ matrix.language == 'java' }} diff --git a/adot/collector/config.yaml b/adot/collector/config.yaml index 195b2a678..4e252032e 100644 --- a/adot/collector/config.yaml +++ b/adot/collector/config.yaml @@ -18,6 +18,3 @@ service: metrics: receivers: [otlp] exporters: [debug] - telemetry: - metrics: - address: localhost:8888 diff --git a/adot/utils/expected-templates/nodejs-aws-sdk-wrapper.json b/adot/utils/expected-templates/nodejs-aws-sdk-wrapper.json index d0879b91f..6dcfff14d 100644 --- a/adot/utils/expected-templates/nodejs-aws-sdk-wrapper.json +++ b/adot/utils/expected-templates/nodejs-aws-sdk-wrapper.json @@ -12,6 +12,11 @@ "name": "lambda-nodejs.*" }, { - "name": "s3" + "name": "STS", + "origin": "AWS::STS", + "inferred": true, + "aws": { + "operation": "GetCallerIdentity" + } } -] \ No newline at end of file +] diff --git a/java/integration-tests/aws-sdk/agent/main.tf b/java/integration-tests/aws-sdk/agent/main.tf index 51c913f1e..51f0e8d2c 100644 --- a/java/integration-tests/aws-sdk/agent/main.tf +++ b/java/integration-tests/aws-sdk/agent/main.tf @@ -79,9 +79,6 @@ service: metrics: receivers: [otlp] exporters: [debug, prometheusremotewrite] - telemetry: - metrics: - address: localhost:8888 EOT filename = "config.yaml" } diff --git a/nodejs/integration-tests/aws-sdk/wrapper/main.tf b/nodejs/integration-tests/aws-sdk/wrapper/main.tf index c50596ec2..bcd94383f 100644 --- a/nodejs/integration-tests/aws-sdk/wrapper/main.tf +++ b/nodejs/integration-tests/aws-sdk/wrapper/main.tf @@ -19,22 +19,54 @@ resource "aws_lambda_layer_version" "collector_layer" { source_code_hash = filebase64sha256("${path.module}/../../../../opentelemetry-lambda/collector/build/opentelemetry-collector-layer-${local.architecture}.zip") } -module "hello-lambda-function" { - source = "../../../../opentelemetry-lambda/nodejs/sample-apps/aws-sdk/deploy/wrapper" +# NOTE: The upstream `nodejs/sample-apps/aws-sdk/deploy/wrapper` module was +# refactored (OTel Collector v0.151.0) to build layer ARNs internally from +# published layer versions and no longer accepts `collector_layer_arn` / +# `sdk_layer_arn` inputs. The integration/soak test must attach the layers we +# just built locally, so we instantiate the Lambda function directly here - +# mirroring the python integration test - instead of consuming that module. +module "test-function" { + source = "terraform-aws-modules/lambda/aws" + version = "7.19.0" + + architectures = compact([var.architecture]) + function_name = var.function_name + handler = "index.handler" + runtime = var.runtime + + create_package = false + local_existing_package = "${path.module}/../../../../opentelemetry-lambda/nodejs/sample-apps/aws-sdk/build/function.zip" + + memory_size = 384 + timeout = 20 + + layers = compact([ + var.enable_collector_layer ? aws_lambda_layer_version.collector_layer[0].arn : null, + aws_lambda_layer_version.sdk_layer.arn + ]) + + environment_variables = { + AWS_LAMBDA_EXEC_WRAPPER = "/opt/otel-handler" + } + + tracing_mode = var.tracing_mode +} + +module "api-gateway" { + source = "../../../../opentelemetry-lambda/utils/terraform/api-gateway-proxy" + name = var.function_name - architecture = var.architecture - collector_layer_arn = var.enable_collector_layer ? aws_lambda_layer_version.collector_layer[0].arn : null - sdk_layer_arn = aws_lambda_layer_version.sdk_layer.arn - tracing_mode = var.tracing_mode - runtime = var.runtime + function_name = module.test-function.lambda_function_name + function_invoke_arn = module.test-function.lambda_function_invoke_arn + enable_xray_tracing = var.tracing_mode == "Active" } resource "aws_iam_role_policy_attachment" "hello-lambda-cloudwatch-insights" { - role = module.hello-lambda-function.function_role_name + role = module.test-function.lambda_role_name policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" } resource "aws_iam_role_policy_attachment" "test_xray" { - role = module.hello-lambda-function.function_role_name + role = module.test-function.lambda_role_name policy_arn = "arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess" } diff --git a/nodejs/integration-tests/aws-sdk/wrapper/outputs.tf b/nodejs/integration-tests/aws-sdk/wrapper/outputs.tf index a40152815..9ef20e2ff 100644 --- a/nodejs/integration-tests/aws-sdk/wrapper/outputs.tf +++ b/nodejs/integration-tests/aws-sdk/wrapper/outputs.tf @@ -1,9 +1,9 @@ output "api-gateway-url" { - value = module.hello-lambda-function.api-gateway-url + value = module.api-gateway.api_gateway_url } output "function_role_name" { - value = module.hello-lambda-function.function_role_name + value = module.test-function.lambda_role_name } output "collector_layer_arn" {