Skip to content

Commit 8347871

Browse files
committed
ci(temp): surface opencv install() build-log + cmake/loader state on failure
xim's interface mode suppresses install() subprocess + log.error output, so the CMake hook's real failure is invisible in CI (only symptom: fetch exit 1). Add an if:failure() Linux step that cats mcpp_opencv_build.log and inspects the xim:cmake binary/interpreter + xim:glibc loader on the runner. Remove before merge.
1 parent ff96d2a commit 8347871

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

.github/workflows/validate.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,29 @@ jobs:
195195
# No `timeout` wrapper: absent on macOS runners; job-level timeout-minutes bounds it.
196196
"$MCPP" test --workspace
197197
198+
# TEMP diagnostic (remove before merge): xim's interface mode suppresses
199+
# install() subprocess + log output, so a failed source-build (e.g. opencv's
200+
# CMake hook) is invisible. On failure, surface the on-disk build log + the
201+
# xim:cmake launcher/loader state directly from the runner.
202+
- name: install() build-log on failure
203+
if: failure() && runner.os == 'Linux'
204+
shell: bash
205+
run: |
206+
echo "=== opencv build log(s) ==="
207+
find "$HOME/.mcpp" -name 'mcpp_opencv_build.log' 2>/dev/null | while read -r f; do
208+
echo "--- $f ---"; cat "$f"; echo "--- end ---"
209+
done || true
210+
echo "=== opencv store top-level ==="
211+
find "$HOME/.mcpp" -path '*compat.opencv*4.13.0' -maxdepth 9 2>/dev/null | head -1 | while read -r d; do ls -la "$d" 2>/dev/null; ls -la "$d/include/opencv4/opencv2" 2>/dev/null | head; done || true
212+
echo "=== xim:cmake binary + launcher on PATH ==="
213+
find "$HOME/.mcpp" -type f -name 'cmake' 2>/dev/null | head || true
214+
echo "PATH=$PATH"; command -v cmake || echo "(no bare cmake on this PATH)"
215+
echo "=== xim:cmake ELF interpreter + can it exec? ==="
216+
cm=$(find "$HOME/.mcpp" -type f -path '*xim-x-cmake*/bin/cmake' 2>/dev/null | head -1)
217+
if [ -n "$cm" ]; then readelf -l "$cm" 2>/dev/null | grep -i interpreter || true; "$cm" --version 2>&1 | head -3 || echo "exec FAILED rc=$?"; fi
218+
echo "=== xim:glibc present? ==="
219+
find "$HOME/.mcpp" -path '*xim-x-glibc*ld-linux*' 2>/dev/null | head || echo "(no xim glibc loader)"
220+
198221
# ── Exception: the public `imgui` C++23-module package (namespace "") ──
199222
# Not yet a workspace member: its package has an empty namespace (the builtin
200223
# default index), which a workspace member can't point at a local path the way

0 commit comments

Comments
 (0)