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
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
run: ./scripts/install_deps.sh

- name: Check formatting
run: yarn check-formatting
Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
run: ./scripts/install_deps.sh

- name: Build
run: yarn build
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/update-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ jobs:

- uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
with:
node-version: "20.x"
node-version: "22.x"

- name: Update Dependencies
run: |
yarn install
yarn upgrade
yarn install --ignore-engines
yarn upgrade --ignore-engines

- name: Create Pull Request
uses: peter-evans/create-pull-request@18f7dc018cc2cd597073088f7c7591b9d1c02672 # v3.14.0
Expand Down
6 changes: 5 additions & 1 deletion .gitlab/input_files/build.yaml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ default:
- yarn --version
- echo 'yarn-offline-mirror ".yarn-cache/"' >> .yarnrc
- echo 'yarn-offline-mirror-pruning true' >> .yarnrc
- yarn install --frozen-lockfile --no-progress
# Resolves dd-trace v5 or v6 from the Node major of the job's image.
- ./scripts/install_deps.sh --no-progress

{{ range $runtime := (ds "runtimes").runtimes }}

Expand Down Expand Up @@ -179,6 +180,9 @@ publish npm package:
tags: ["arch:amd64"]
image: ${CI_DOCKER_TARGET_IMAGE}:${CI_DOCKER_TARGET_VERSION}
cache: []
variables:
# The CI image runs Node 18, but the published package tracks the v6 line.
TARGET_NODE_MAJOR: "22"
rules:
- if: '$CI_COMMIT_TAG =~ /^v.*/'
when: manual
Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ COPY . datadog-lambda-js
WORKDIR /datadog-lambda-js
# Node.js 26+ official images no longer bundle Yarn v1.
RUN command -v yarn >/dev/null 2>&1 || npm install -g yarn@1.22.22
RUN yarn install --ignore-engines
# Installs dd-trace v5 instead of v6 for Node versions < 22.
RUN ./scripts/install_deps.sh

# Build the lambda layer
RUN yarn build
Expand Down
5 changes: 5 additions & 0 deletions integration_tests/container/cjs/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
ARG NODE_VERSION=22
FROM public.ecr.aws/lambda/nodejs:${NODE_VERSION}

# Overrides the dd-trace pin in package.json so this image tracks the same
# tracer line as the layer built for NODE_VERSION (v5 below Node 22, v6 above).
ARG DD_TRACE_VERSION=""

COPY package.json handler.js ${LAMBDA_TASK_ROOT}/
COPY datadog-lambda-js-local.tgz /tmp/datadog-lambda-js-local.tgz
RUN cd ${LAMBDA_TASK_ROOT} \
&& if [ -n "$DD_TRACE_VERSION" ]; then npm pkg set dependencies.dd-trace="$DD_TRACE_VERSION"; fi \
&& npm install --omit=dev \
&& npm install --no-save /tmp/datadog-lambda-js-local.tgz \
&& rm /tmp/datadog-lambda-js-local.tgz
Expand Down
2 changes: 1 addition & 1 deletion integration_tests/container/cjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
"version": "1.0.0",
"private": true,
"dependencies": {
"dd-trace": "5.105.0"
"dd-trace": "6.12.0"
}
}
5 changes: 5 additions & 0 deletions integration_tests/container/esm/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
ARG NODE_VERSION=22
FROM public.ecr.aws/lambda/nodejs:${NODE_VERSION}

# Overrides the dd-trace pin in package.json so this image tracks the same
# tracer line as the layer built for NODE_VERSION (v5 below Node 22, v6 above).
ARG DD_TRACE_VERSION=""

COPY package.json handler.mjs ${LAMBDA_TASK_ROOT}/
COPY datadog-lambda-js-local.tgz /tmp/datadog-lambda-js-local.tgz
RUN cd ${LAMBDA_TASK_ROOT} \
&& if [ -n "$DD_TRACE_VERSION" ]; then npm pkg set dependencies.dd-trace="$DD_TRACE_VERSION"; fi \
&& npm install --omit=dev \
&& npm install --no-save /tmp/datadog-lambda-js-local.tgz \
&& rm /tmp/datadog-lambda-js-local.tgz
Expand Down
2 changes: 1 addition & 1 deletion integration_tests/container/esm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"private": true,
"type": "module",
"dependencies": {
"dd-trace": "5.105.0"
"dd-trace": "6.12.0"
}
}
3 changes: 3 additions & 0 deletions integration_tests/serverless.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ provider:
DD_API_KEY: ${env:DD_API_KEY}
DD_SERVICE_MAPPING: "lambda_api_gateway:remappedApiGatewayServiceName,lambda_sns:remappedSnsServiceName,lambda_sqs:remappedSqsServiceName,lambda_s3:remappedS3ServiceName,lambda_eventbridge:remappedEventBridgeServiceName,lambda_kinesis:remappedKinesisServiceName,lambda_dynamodb:remappedDynamoDbServiceName,lambda_url:remappedUrlServiceName"
DD_COLD_START_TRACING: false
DD_TRACE_STARTUP_LOGS: false
timeout: 15
deploymentBucket:
name: integration-tests-serververless-deployment-bucket
Expand All @@ -25,11 +26,13 @@ provider:
platform: linux/amd64
buildArgs:
NODE_VERSION: ${env:NODE_MAJOR}
DD_TRACE_VERSION: ${env:DD_TRACE_VERSION}
datadog-lambda-js-esm:
path: ./container/esm
platform: linux/amd64
buildArgs:
NODE_VERSION: ${env:NODE_MAJOR}
DD_TRACE_VERSION: ${env:DD_TRACE_VERSION}

layers:
node:
Expand Down
72 changes: 27 additions & 45 deletions integration_tests/snapshots/logs/container-cjs_node18.log
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -83,7 +82,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "api-gateway",
"function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test",
"http.method": "GET",
Expand All @@ -98,8 +97,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -167,8 +165,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -192,7 +189,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "dynamodb",
"function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000",
"_dd.integration": "opentracing",
Expand All @@ -204,8 +201,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -273,8 +269,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -298,7 +293,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "dynamodb",
"function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000",
"_dd.integration": "opentracing",
Expand All @@ -310,8 +305,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -379,8 +373,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -404,7 +397,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "dynamodb",
"function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000",
"_dd.integration": "opentracing",
Expand All @@ -416,8 +409,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -484,8 +476,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -509,7 +500,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "s3",
"function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name",
"_dd.integration": "opentracing",
Expand All @@ -521,8 +512,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -589,8 +579,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -614,7 +603,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "s3",
"function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name",
"_dd.integration": "opentracing",
Expand All @@ -626,8 +615,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -694,8 +682,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -719,7 +706,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "s3",
"function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name",
"_dd.integration": "opentracing",
Expand All @@ -731,8 +718,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -798,8 +784,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -823,7 +808,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "sns",
"function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda",
"_dd.integration": "opentracing",
Expand All @@ -835,8 +820,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down Expand Up @@ -901,8 +885,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
},
{
"trace_id":"XXXX",
Expand All @@ -926,7 +909,7 @@ START
"resource_names": "integration-tests-js-XXXX-container-cjs_node18",
"functionname": "integration-tests-js-XXXX-container-cjs_node18",
"datadog_lambda":"XXXX",
"dd_trace": "",
"dd_trace":"XXXX",
"function_trigger.event_source": "sqs",
"function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue",
"_dd.integration": "opentracing",
Expand All @@ -938,8 +921,7 @@ START
"_sampling_priority_v1": 1
},
"start":XXXX,
"duration":XXXX,
"links": []
"duration":XXXX
}
]
]
Expand Down
Loading
Loading