diff --git a/.github/workflows/build_layer.yml b/.github/workflows/build_layer.yml index 1725975f..e21f1633 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 }} 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/pyproject.toml b/pyproject.toml index d8aa4201..f5a49ead 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,12 +3,8 @@ name = "datadog_lambda" version = "8.123.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..f10b9dbf 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -46,6 +46,14 @@ else PYTHON_VERSIONS=$PYTHON_VERSION fi +# Replace ddtrace wheel used if necessary +if [ -n "$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 [ -n "$DD_TRACE_WHEEL" ]; then + sed -z -E -i 's|(ddtrace = )\[[^]]*]|\1{ file = "'"$DD_TRACE_WHEEL"'" }|g' pyproject.toml + fi +fi function make_path_absolute { echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"