`src/python/pants/backend/docker/util_rules/docker...
# development
b
src/python/pants/backend/docker/util_rules/docker_build_context_test.py
seems to be consistently failing in CI. Details in thread:
Copy code
...
E       pants.engine.process.ProcessExecutionFailure: Process 'Building src.python.proj.cli/bin.pex with 1 requirement: psutil==5.9.2' failed with exit code 1.
...
E       stderr:
E       pid 166 -> /pants-named-caches/pex_root/venvs/19e60314ff29c75cbbe42b21fbd6c812154c5310/73c7d7c618fac01449fa6e57a21210c0eb8a8f21/bin/python -sE /pants-named-caches/pex_root/venvs/19e60314ff29c75cbbe42b21fbd6c812154c5310/73c7d7c618fac01449fa6e57a21210c0eb8a8f21/pex --disable-pip-version-check --no-python-version-warning --exists-action a --no-input --isolated -q --cache-dir /pants-named-caches/pex_root/pip_cache wheel --no-deps --wheel-dir /pants-named-caches/pex_root/built_wheels/sdists/psutil-5.9.2.tar.gz/feb861a10b6c3bb00701063b37e4afc754f8217f0f09c42280586bd6ac712b5c/cp311-cp311-manylinux_2_36_x86_64.25cf788bc1b74d25bfee382cb60ae629.work /pants-named-caches/pex_root/downloads/resolver_download.ilv1fdav/usr.bin.python3.11/psutil-5.9.2.tar.gz --index-url <https://pypi.org/simple/> --retries 5 --timeout 15 exited with 1 and STDERR:
E         ERROR: Command errored out with exit status 1:
E          command: /pants-named-caches/pex_root/venvs/19e60314ff29c75cbbe42b21fbd6c812154c5310/73c7d7c618fac01449fa6e57a21210c0eb8a8f21/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/pants-named-caches/pex_root/pip_cache/.tmp/pip-req-build-onw7ii19/setup.py'"'"'; __file__='"'"'/pants-named-caches/pex_root/pip_cache/.tmp/pip-req-build-onw7ii19/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /pants-named-caches/pex_root/pip_cache/.tmp/pip-wheel-osaq1pif
E              cwd: /pants-named-caches/pex_root/pip_cache/.tmp/pip-req-build-onw7ii19/
E         Complete output (45 lines):
...
E         running build_ext
E         building 'psutil._psutil_linux' extension
E         creating build/temp.linux-x86_64-3.11
E         creating build/temp.linux-x86_64-3.11/psutil
E         x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=592 -DPSUTIL_LINUX=1 -I/pants-named-caches/pex_root/venvs/19e60314ff29c75cbbe42b21fbd6c812154c5310/73c7d7c618fac01449fa6e57a21210c0eb8a8f21/include -I/usr/include/python3.11 -c psutil/_psutil_common.c -o build/temp.linux-x86_64-3.11/psutil/_psutil_common.o
E         psutil/_psutil_common.c:9:10: fatal error: Python.h: No such file or directory
E             9 | #include <Python.h>
E               |          ^~~~~~~~~~
E         compilation terminated.
E         error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
E         ----------------------------------------
E         ERROR: Failed building wheel for psutil
E       ERROR: Failed to build one or more wheels
c
missing the apt package python3.11-dev ?
b
I guess so; but the test (
test_packaged_pex_environment
) was presumably passing previously, so something must've changed. I note that the test refers to the
python:3.8
docker image, which was updated 2 hours ago (https://hub.docker.com/layers/library/python/3.8/images/sha256-b904ee5365f53d19de5ff11c1ce96a616224a55306d55e3cf29a11e969a3a7e0?context=explore)
The update was potentially https://github.com/docker-library/python/pull/822 with a major change to the base OS... and now I have to go, so cannot debug/fix this futher.
Potential fix at https://github.com/pantsbuild/pants/pull/19324 (I'll likely be out for the next 16 hours or so, so feel free to merge if that seems plausible)
b
I merged PR in the spirit of forward progress 🙂
b
Thanks
b
I've nursed it into the older branches as well. All CI should be healthy again
🙏 2