From 28a4883421842b3811d24ac39285fb742b0f3c05 Mon Sep 17 00:00:00 2001 From: chopratejas Date: Sat, 2 May 2026 20:07:34 -0700 Subject: [PATCH] chore(ci): dump site-packages state before A0 build verify Diagnostic step in the Dockerfile builder: list site-packages/headroom/ contents, run pip show -f on both headroom-core-py and headroom-ai, print sys.path and headroom.__path__ before the import-verify. Lets us see exactly what's on disk when A0's build-time verify keeps failing in PR #350 CI. Will be removed once the wheel install order issue is diagnosed. --- Dockerfile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Dockerfile b/Dockerfile index 3bccc3e4f..6e6770e3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -100,6 +100,22 @@ RUN --mount=type=cache,target=/root/.cache/uv \ # inside the build image. If this fails, the runtime image would fail # its lifespan smoke test on every restart — better to break the build # loudly here than ship a broken image. +# +# Diagnostic preamble (kept around so future build-time regressions are +# self-documenting): list site-packages/headroom/, pip-show both the +# wheel package and the source package, and grep their RECORDs for +# _core.so ownership. Adds <100ms; logs are invaluable on failure. +RUN echo "=== site-packages/headroom/ contents ===" && \ + ls -la "$(python -c 'import site; print(site.getsitepackages()[0])')/headroom" 2>&1 || true && \ + echo "=== pip show headroom-core-py ===" && \ + python -m pip show -f headroom-core-py 2>&1 | head -40 || true && \ + echo "=== pip show headroom-ai ===" && \ + python -m pip show -f headroom-ai 2>&1 | head -40 || true && \ + echo "=== sys.path ===" && \ + python -c "import sys; [print(' ', p) for p in sys.path]" && \ + echo "=== importing headroom ===" && \ + python -c "import headroom; print('headroom.__file__ =', headroom.__file__); print('headroom.__path__ =', list(headroom.__path__))" + RUN python -c "from headroom._core import hello; \ marker = hello(); \ assert marker == 'headroom-core', f'expected headroom-core, got {marker!r}'; \