From c3842745d876ce1fd85847a02714666488bf9625 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Mon, 30 Mar 2026 10:08:55 -0700 Subject: [PATCH 01/10] use serverless-specific wheel in layer --- scripts/build_layers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 7456a38b..be349464 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -123,7 +123,7 @@ function docker_build_zip { fi PY_TAG="cp$(echo "$1" | tr -d '.')" WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-manylinux2014.html" \ - | grep -o "ddtrace-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" \ + | grep -o "ddtraceserverless-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" \ | head -n 1) if [ -z "${WHEEL_FILE}" ]; then echo "No S3 wheel found for ${PY_TAG} ${PLATFORM}, using default pyproject.toml version" From 3e255d88a5b9cd8d9528847e95191a420b6c7501 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Mon, 30 Mar 2026 10:57:14 -0700 Subject: [PATCH 02/10] missing underscore --- scripts/build_layers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index be349464..4afa8369 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -123,7 +123,7 @@ function docker_build_zip { fi PY_TAG="cp$(echo "$1" | tr -d '.')" WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-manylinux2014.html" \ - | grep -o "ddtraceserverless-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" \ + | grep -o "ddtrace_serverless-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" \ | head -n 1) if [ -z "${WHEEL_FILE}" ]; then echo "No S3 wheel found for ${PY_TAG} ${PLATFORM}, using default pyproject.toml version" From 6052791bce7315dca9f16148773699d890aa4dac Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Tue, 31 Mar 2026 09:36:40 -0700 Subject: [PATCH 03/10] change index --- scripts/build_layers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 4afa8369..bf9ef317 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -122,7 +122,7 @@ function docker_build_zip { PLATFORM="manylinux2014_aarch64" fi PY_TAG="cp$(echo "$1" | tr -d '.')" - WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-manylinux2014.html" \ + WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-serverless.html" \ | grep -o "ddtrace_serverless-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" \ | head -n 1) if [ -z "${WHEEL_FILE}" ]; then From 0f528bb939e073cda114dbcf0894ac7ba5ab636a Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Tue, 31 Mar 2026 10:17:08 -0700 Subject: [PATCH 04/10] use proper wheel name --- scripts/build_layers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index bf9ef317..edb611b5 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -130,7 +130,7 @@ function docker_build_zip { else curl -sSfL "${S3_BASE}/${WHEEL_FILE}" -o "${WHEEL_FILE}" echo "Using S3 wheel: ${WHEEL_FILE}" - replace_ddtrace_dep "ddtrace = { file = \"${WHEEL_FILE}\" }" + replace_ddtrace_dep "ddtrace_serverless = { file = \"${WHEEL_FILE}\" }" fi fi From 9e85b8464857d6dddde0bba8d7fa53f80efae1d8 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Tue, 31 Mar 2026 11:00:18 -0700 Subject: [PATCH 05/10] print search pattern --- scripts/build_layers.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index edb611b5..2d29c578 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -122,8 +122,10 @@ function docker_build_zip { PLATFORM="manylinux2014_aarch64" fi PY_TAG="cp$(echo "$1" | tr -d '.')" + SEARCH_PATTERN="ddtrace_serverless-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" + echo "Searching for wheel ${SEARCH_PATTERN}" WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-serverless.html" \ - | grep -o "ddtrace_serverless-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" \ + | grep -o "$SEARCH_PATTERN" \ | head -n 1) if [ -z "${WHEEL_FILE}" ]; then echo "No S3 wheel found for ${PY_TAG} ${PLATFORM}, using default pyproject.toml version" From 7343a274fdd6b3642c4269f5e88fe8fd18debad6 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Wed, 1 Apr 2026 10:15:03 -0700 Subject: [PATCH 06/10] backward compatibility --- scripts/build_layers.sh | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 2d29c578..bb3fde84 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -98,6 +98,19 @@ function make_path_absolute { echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")" } +function search_wheel { + # Args: [wheel base name] [index] + + BASENAME="cp$(echo "$1" | tr -d '.')" + INDEX="cp$(echo "$2" | tr -d '.')" + + SEARCH_PATTERN="${BASENAME}-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" + echo "Searching for wheel ${SEARCH_PATTERN}" + export WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-${INDEX}.html" \ + | grep -o "$SEARCH_PATTERN" \ + | head -n 1) +} + function docker_build_zip { # Args: [python version] [zip destination] @@ -122,11 +135,10 @@ function docker_build_zip { PLATFORM="manylinux2014_aarch64" fi PY_TAG="cp$(echo "$1" | tr -d '.')" - SEARCH_PATTERN="ddtrace_serverless-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" - echo "Searching for wheel ${SEARCH_PATTERN}" - WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-serverless.html" \ - | grep -o "$SEARCH_PATTERN" \ - | head -n 1) + search_wheel "ddtrace_serverless" "serverless" + if [ -z "${WHEEL_FILE}" ]; then + search_wheel "ddtrace" "manylinux2014" + fi if [ -z "${WHEEL_FILE}" ]; then echo "No S3 wheel found for ${PY_TAG} ${PLATFORM}, using default pyproject.toml version" else From bc5cd093be9a9ecd594792de59012f0963a66583 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Wed, 1 Apr 2026 10:25:17 -0700 Subject: [PATCH 07/10] backward compatibility --- scripts/build_layers.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index bb3fde84..f099ced6 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -109,6 +109,11 @@ function search_wheel { export WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-${INDEX}.html" \ | grep -o "$SEARCH_PATTERN" \ | head -n 1) + if [ ! -z "${WHEEL_FILE}" ]; then + curl -sSfL "${S3_BASE}/${WHEEL_FILE}" -o "${WHEEL_FILE}" + echo "Using S3 wheel: ${WHEEL_FILE}" + replace_ddtrace_dep "${WHEEL_BASE_NAME} = { file = \"${WHEEL_FILE}\" }" + fi } function docker_build_zip { @@ -141,10 +146,6 @@ function docker_build_zip { fi if [ -z "${WHEEL_FILE}" ]; then echo "No S3 wheel found for ${PY_TAG} ${PLATFORM}, using default pyproject.toml version" - else - curl -sSfL "${S3_BASE}/${WHEEL_FILE}" -o "${WHEEL_FILE}" - echo "Using S3 wheel: ${WHEEL_FILE}" - replace_ddtrace_dep "ddtrace_serverless = { file = \"${WHEEL_FILE}\" }" fi fi From 1207d7b3a56ba20106bc842292122d752b235e86 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Wed, 1 Apr 2026 10:43:37 -0700 Subject: [PATCH 08/10] wrong copypasta --- 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 f099ced6..66dfa4e8 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -101,8 +101,8 @@ function make_path_absolute { function search_wheel { # Args: [wheel base name] [index] - BASENAME="cp$(echo "$1" | tr -d '.')" - INDEX="cp$(echo "$2" | tr -d '.')" + BASENAME=$1 + INDEX=$2 SEARCH_PATTERN="${BASENAME}-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" echo "Searching for wheel ${SEARCH_PATTERN}" From 2197e3eba1062a03588ee53e018783e19dedd606 Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Wed, 1 Apr 2026 11:17:18 -0700 Subject: [PATCH 09/10] silly typo --- scripts/build_layers.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 66dfa4e8..224134b4 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -101,10 +101,10 @@ function make_path_absolute { function search_wheel { # Args: [wheel base name] [index] - BASENAME=$1 + WHEEL_BASENAME=$1 INDEX=$2 - SEARCH_PATTERN="${BASENAME}-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" + SEARCH_PATTERN="${WHEEL_BASENAME}-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" echo "Searching for wheel ${SEARCH_PATTERN}" export WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-${INDEX}.html" \ | grep -o "$SEARCH_PATTERN" \ @@ -112,7 +112,7 @@ function search_wheel { if [ ! -z "${WHEEL_FILE}" ]; then curl -sSfL "${S3_BASE}/${WHEEL_FILE}" -o "${WHEEL_FILE}" echo "Using S3 wheel: ${WHEEL_FILE}" - replace_ddtrace_dep "${WHEEL_BASE_NAME} = { file = \"${WHEEL_FILE}\" }" + replace_ddtrace_dep "${WHEEL_BASENAME} = { file = \"${WHEEL_FILE}\" }" fi } From 1e460684e75a8a8fb52ea88633677c030a15606a Mon Sep 17 00:00:00 2001 From: Emmett Butler Date: Wed, 1 Apr 2026 11:45:50 -0700 Subject: [PATCH 10/10] debug output --- scripts/build_layers.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 224134b4..216ab617 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -105,10 +105,9 @@ function search_wheel { INDEX=$2 SEARCH_PATTERN="${WHEEL_BASENAME}-[^\"]*${PY_TAG}[^\"]*${PLATFORM}[^\"]*\.whl" + INDEX_URL="${S3_BASE}/index-${INDEX}.html" echo "Searching for wheel ${SEARCH_PATTERN}" - export WHEEL_FILE=$(curl -sSfL "${S3_BASE}/index-${INDEX}.html" \ - | grep -o "$SEARCH_PATTERN" \ - | head -n 1) + export WHEEL_FILE=$(curl -sSfL ${INDEX_URL} | grep -o "$SEARCH_PATTERN" | head -n 1) if [ ! -z "${WHEEL_FILE}" ]; then curl -sSfL "${S3_BASE}/${WHEEL_FILE}" -o "${WHEEL_FILE}" echo "Using S3 wheel: ${WHEEL_FILE}"