From 9cdd1e9b9bff2f5dc7e2e8509a7d39694621884f Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Wed, 4 Feb 2026 10:03:21 -0500 Subject: [PATCH 1/6] Revert pyproject.toml changes and add environment variable for ddtrace wheel sed command --- .github/workflows/build_layer.yml | 7 +------ pyproject.toml | 32 ++++++------------------------- scripts/build_layers.sh | 3 +++ 3 files changed, 10 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build_layer.yml b/.github/workflows/build_layer.yml index 1725975f..1a5fd4b0 100644 --- a/.github/workflows/build_layer.yml +++ b/.github/workflows/build_layer.yml @@ -34,15 +34,10 @@ jobs: pip download --no-index --no-deps --find-links https://dd-trace-py-builds.s3.amazonaws.com/main/index.html --pre --python-version "${{ matrix.python_version}}" --platform "${PLATFORM_TAG}" ddtrace echo "wheel_path=$(find . -name "*.whl" | head -n 1)" >> $GITHUB_OUTPUT - - name: Patch pyproject.toml - run: | - echo "Patching pyproject.toml to use latest build of dd-trace-py" - sed -i 's|^ddtrace =.*$|ddtrace = { file = "${{ steps.find-ddtrace-wheel.outputs.wheel_path }}" }|' pyproject.toml - - name: Build layer for Python ${{ matrix.python_version }} on ${{ matrix.arch }} run: | echo "Building layer for Python ${{ matrix.python_version }} on ${{ matrix.arch }}" - ARCH=${{ matrix.arch }} PYTHON_VERSION=${{ matrix.python_version }} ./scripts/build_layers.sh + ARCH=${{ matrix.arch }} PYTHON_VERSION=${{ matrix.python_version }} SED_EXPRESSION="s|(ddtrace = )\[[^]]*]|\1{ file = "${{ steps.find-ddtrace-wheel.outputs.wheel_path }}" }|g" ./scripts/build_layers.sh - name: Upload layer artifact uses: actions/upload-artifact@v4 diff --git a/pyproject.toml b/pyproject.toml index d8aa4201..355dee30 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,14 +1,10 @@ [tool.poetry] name = "datadog_lambda" -version = "8.123.0.dev0" +version = "8.122.0.dev0" description = "The Datadog AWS Lambda Library" authors = ["Datadog, Inc. "] - -[project] -name = "datadog_lambda" license = "Apache-2.0" readme = "README.md" -requires-python = ">=3.8.0,<4" repository = "https://github.com/DataDog/datadog-lambda-python" keywords = [ "datadog", @@ -16,18 +12,10 @@ keywords = [ "lambda", "layer", ] -dependencies = [ - "datadog>=0.51.0,<1.0.0", - "wrapt>=1.11.2,<2", - "ddtrace>=3.19.1,<4; python_version>='3.9.0' and python_version < '3.10'", - "ddtrace>=4.1.1,<5; python_version>='3.10.0'", - "ujson>=5.9.0", -] packages = [ { include = "datadog_lambda" } ] classifiers = [ - "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -37,13 +25,14 @@ classifiers = [ "Programming Language :: Python :: 3.14", ] -# can remove tool.poetry.depencies and tool.poetry.extras -# after deprecation of Python 3.8 [tool.poetry.dependencies] python = ">=3.8.0,<4" datadog = ">=0.51.0,<1.0.0" wrapt = "^1.11.2" -ddtrace = ">=3.19.1,<4" +ddtrace = [ + {version = ">=3.19.1,<4", python = ">=3.8,<3.10"}, + {version = ">=4.1.1,<5", python = ">=3.10"} +] ujson = ">=5.9.0" botocore = { version = "^1.34.0", optional = true } requests = { version ="^2.22.0", optional = true } @@ -60,18 +49,9 @@ dev = [ "requests", ] -[project.optional-dependencies] -dev = [ - "botocore>=1.34.0,<2", - "requests>=2.22.0,<3", - "pytest>=8.0.0,<9", - "pytest-benchmark>=4.0,<5", - "flake8>=5.0.4,<6", -] - [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.pytest.ini_options] -addopts = "--benchmark-disable --benchmark-autosave" +addopts = "--benchmark-disable --benchmark-autosave" \ No newline at end of file diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index b78ca9ab..c97b6a7d 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -46,6 +46,9 @@ else PYTHON_VERSIONS=$PYTHON_VERSION fi +if [ -z "$SED_EXPRESSION"]; then + sed -z -E -i "$SED_EXPRESSION" pyproject.toml +fi function make_path_absolute { echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")" From d3a0714e134a7d1e2e1e87f7f72ad25c077fe782 Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Wed, 4 Feb 2026 10:55:29 -0500 Subject: [PATCH 2/6] version typo --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 355dee30..f5a49ead 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "datadog_lambda" -version = "8.122.0.dev0" +version = "8.123.0.dev0" description = "The Datadog AWS Lambda Library" authors = ["Datadog, Inc. "] license = "Apache-2.0" From 97bd3f51b8ae2105420ee74d048d09c8ef6f415a Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Wed, 4 Feb 2026 13:23:08 -0500 Subject: [PATCH 3/6] add commit branch variable --- .github/workflows/build_layer.yml | 2 +- scripts/build_layers.sh | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_layer.yml b/.github/workflows/build_layer.yml index 1a5fd4b0..e21f1633 100644 --- a/.github/workflows/build_layer.yml +++ b/.github/workflows/build_layer.yml @@ -37,7 +37,7 @@ jobs: - name: Build layer for Python ${{ matrix.python_version }} on ${{ matrix.arch }} run: | echo "Building layer for Python ${{ matrix.python_version }} on ${{ matrix.arch }}" - ARCH=${{ matrix.arch }} PYTHON_VERSION=${{ matrix.python_version }} SED_EXPRESSION="s|(ddtrace = )\[[^]]*]|\1{ file = "${{ steps.find-ddtrace-wheel.outputs.wheel_path }}" }|g" ./scripts/build_layers.sh + ARCH=${{ matrix.arch }} PYTHON_VERSION=${{ matrix.python_version }} DD_TRACE_WHEEL="${{ steps.find-ddtrace-wheel.outputs.wheel_path }}" ./scripts/build_layers.sh - name: Upload layer artifact uses: actions/upload-artifact@v4 diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index c97b6a7d..54321c1b 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -46,8 +46,12 @@ else PYTHON_VERSIONS=$PYTHON_VERSION fi -if [ -z "$SED_EXPRESSION"]; then - sed -z -E -i "$SED_EXPRESSION" pyproject.toml +if [ -z "$DD_TRACE_COMMIT_BRANCH" ]; then + sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ git = "https://github.com/DataDog/dd-trace-py.git", branch = \"'"$DD_TRACE_COMMIT_BRANCH"'\" }|g' pyproject.toml +else + if [ -z "$DD_TRACE_WHEEL" ]; then + sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml + fi fi function make_path_absolute { From f3ec180f5760c86dca93e24b018a852008d8e7fb Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Wed, 4 Feb 2026 13:57:32 -0500 Subject: [PATCH 4/6] prints --- scripts/build_layers.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 54321c1b..965a5458 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -46,11 +46,16 @@ else PYTHON_VERSIONS=$PYTHON_VERSION fi +echo "DD_TRACE_COMMIT_BRANCH: $DD_TRACE_COMMIT_BRANCH" +echo "DD_TRACE_WHEEL: $DD_TRACE_WHEEL" if [ -z "$DD_TRACE_COMMIT_BRANCH" ]; then + echo "commit branch!" sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ git = "https://github.com/DataDog/dd-trace-py.git", branch = \"'"$DD_TRACE_COMMIT_BRANCH"'\" }|g' pyproject.toml else if [ -z "$DD_TRACE_WHEEL" ]; then + echo "wheel!" sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml + echo "sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml" fi fi From af375fd49438a970593af503d71a1c964c2d2b18 Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Wed, 4 Feb 2026 14:25:16 -0500 Subject: [PATCH 5/6] fix environment variable checks --- scripts/build_layers.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 965a5458..aa81d725 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -48,11 +48,11 @@ fi echo "DD_TRACE_COMMIT_BRANCH: $DD_TRACE_COMMIT_BRANCH" echo "DD_TRACE_WHEEL: $DD_TRACE_WHEEL" -if [ -z "$DD_TRACE_COMMIT_BRANCH" ]; then +if [ -n "$DD_TRACE_COMMIT_BRANCH" ]; then echo "commit branch!" sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ git = "https://github.com/DataDog/dd-trace-py.git", branch = \"'"$DD_TRACE_COMMIT_BRANCH"'\" }|g' pyproject.toml else - if [ -z "$DD_TRACE_WHEEL" ]; then + if [ -n "$DD_TRACE_WHEEL" ]; then echo "wheel!" sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml echo "sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml" From a6066155be8eea905792ab61eb16b889028c82a3 Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Wed, 4 Feb 2026 14:36:39 -0500 Subject: [PATCH 6/6] Remove debug prints --- scripts/build_layers.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index aa81d725..f10b9dbf 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -46,16 +46,12 @@ else PYTHON_VERSIONS=$PYTHON_VERSION fi -echo "DD_TRACE_COMMIT_BRANCH: $DD_TRACE_COMMIT_BRANCH" -echo "DD_TRACE_WHEEL: $DD_TRACE_WHEEL" +# Replace ddtrace wheel used if necessary if [ -n "$DD_TRACE_COMMIT_BRANCH" ]; then - echo "commit branch!" sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ git = "https://github.com/DataDog/dd-trace-py.git", branch = \"'"$DD_TRACE_COMMIT_BRANCH"'\" }|g' pyproject.toml else if [ -n "$DD_TRACE_WHEEL" ]; then - echo "wheel!" sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml - echo "sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml" fi fi