This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch hardened-python-base-images in repository https://gitbox.apache.org/repos/asf/airflow.git
commit b8c2a01a9111f81b003db63f310bf540212b1660 Author: Jarek Potiuk <[email protected]> AuthorDate: Sun Oct 11 10:47:31 2026 +0100 Let old C extensions build in the trixie CI image GCC 14 turns incompatible pointer types, integer conversions and implicit declarations into errors, and the hardened Python passes -Werror=implicit-function-declaration on to extensions - the lowest-dependency tests' old sdists (xmlsec 1.3.14, ibm-db 3.2.0) only built because those were warnings. Generated-by: Claude Opus 5 Claude-Session: https://claude.ai/code/session_014np1fVAxHmGaBFt3qebJ8x --- Dockerfile.ci | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Dockerfile.ci b/Dockerfile.ci index 8f975f4f401..8a105e2321b 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -1914,6 +1914,13 @@ ENV BASE_IMAGE=${BASE_IMAGE} \ PIP_CACHE_DIR=/root/.cache/pip \ UV_CACHE_DIR=/root/.cache/uv +# GCC 14 in trixie turns incompatible-pointer-types, int-conversion and implicit function declarations +# into errors, and the hardened Python passes -Werror=implicit-function-declaration on to C extensions. +# The lowest-dependency tests build old sdists (for example xmlsec 1.3.14 or ibm-db 3.2.0) that only +# compiled because those were warnings - extensions append CFLAGS after Python's own flags, so this +# turns them back into warnings for every build in the CI image. +ENV CFLAGS="-Wno-error=incompatible-pointer-types -Wno-error=int-conversion -Wno-error=implicit-function-declaration" + RUN echo "Base image version: ${BASE_IMAGE}"
