Conversation
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
👋 @devin-ai-integration[bot] |
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThe Dockerfile's base image is upgraded from Python 3.10.7 to Python 3.12. The apt-get dist-upgrade step was removed from the package installation chain, and the development dependency was updated from python-dev to python3-dev. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Comment |
Summary
Fixes the QEMU arm64 segfault that blocks the multi-platform Docker build for v0.23.0.
Root cause: The
apt-get dist-upgrade -ystep upgradeslibc6from2.31-13+deb11u4→2.31-13+deb11u13inside QEMU user-mode emulation. This replaces the shared libraries QEMU is linked against mid-process, causing a segfault whenlibc-bin's post-install script runsldconfig. This started failing between March 12–19 when Debian published the newlibc6security update to Bullseye repos. (failed job)Changes:
apt-get dist-upgrade -y— unnecessary in Docker builds and the direct cause of the QEMU crash. The needed packages (python3-dev,libsasl2-dev) are installed byapt-get installregardless.python:3.10.7topython:3.12— the Oct 2022 image was the reasondist-upgradepulled such a large delta. A current base image eliminates the package drift problem entirely.python-dev→python3-dev— the Python 2 development package doesn't exist in Debian Bookworm (whichpython:3.12is based on).Docker image builds successfully on amd64 locally in ~23s.
Review & Testing Checklist for Human
edrcommands, dbt integration, and key dependencies (e.g. Jinja2, agate, networkx) all work correctly on 3.12. CI passing is necessary but may not cover all runtime paths.--platform linux/amd64,linux/arm64build in CI. Re-create the v0.23.0 tag after merging and confirm the release workflow succeeds.python:3.12.x— the currentpython:3.12tag is a rolling tag. If reproducible builds matter, consider pinning to a specific patch version (e.g.python:3.12.11). This is the same tradeoff as with the uv pin.Notes
python:3.12base uses Debian Bookworm (released June 2023), so the package gap vs. current repos is much smaller than the old Bullseye image — reducing future risk of similar QEMU issues even ifdist-upgradewere re-added.Link to Devin session: https://app.devin.ai/sessions/a67f519882744e45b279502a0fe54bde
Requested by: @haritamar
Summary by CodeRabbit