-
Notifications
You must be signed in to change notification settings - Fork 46
build: use lambda image to ensure binary compatibility when building from source #650
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
4f8a701
to
3f57731
Compare
3f57731
to
6c8e28f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's be sure to add the docker tag before merging.
b7c84ea
to
62693de
Compare
/merge |
View all feedbacks in Devflow UI.
This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
The expected merge time in
This pull request was merged directly. |
What does this PR do?
This PR changes the base image for the layer creation process.
Instead of using the generic python image (
docker/library/python
based on debian), I suggest using the lambda python image (lambda/python
based on AL2 or AL2023 depending on python3 version).Motivation
ddtrace
contains native dependencies which enforce a minimal version of glibc set by the version found at build time.This means that the glibc version of the build image must be the same as (or older than) the glibc version of the runtime image.
When pushing wheels to
PyPi
, thedd-trace-py
compiles native dependencies for themanylinux2014
target which uses an old version of glibc (2.17).With the release of Debian Trixie last week, all python have now a newer version of glibc than Amazon Linux 2023 (2.34) and executing a function with a layer built from source for python3.13 yields the following error
By building on the same image used by the runtime, we ensure the binary compatibility.
Testing Guidelines
All builds in the CI and snapshot tests pass.
Additional Notes
This is a blocker for the enabling system-tests for lambda: https://github.com/DataDog/system-tests/actions/runs/17033940078/job/48282245449?pr=4891#step:91:105
Types of Changes
Check all that apply