From 416e16bdbffe601e12a73a22168dbbf31ca625f1 Mon Sep 17 00:00:00 2001 From: Keith Jackson Date: Mon, 17 Aug 2026 07:40:03 -0500 Subject: [PATCH] fix(conformance): pass absolute --report-path so run.sh is CWD-robust run.sh exited non-zero (breaking the L2 gate) when invoked from the repo root: chainsaw's config report.path is relative (_artifacts), so it resolved against $PWD and failed to write ('open _artifacts/chainsaw-report.xml: no such file') even though all tests passed. Pass --report-path ${ARTIFACTS} (absolute) + mkdir -p first. Verified: R-NET-01 from repo root now exits 0 with report written. Co-Authored-By: Claude Opus 4.8 (1M context) --- conformance/run.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/conformance/run.sh b/conformance/run.sh index 6a9fa59..38f0faf 100755 --- a/conformance/run.sh +++ b/conformance/run.sh @@ -137,8 +137,14 @@ run_chainsaw() { log "Running Chainsaw over ${#dirs[@]} test dir(s) with pinned ${CHAINSAW_VERSION}" # Chainsaw writes JUnit per config/chainsaw-config.yaml (report.* under _artifacts). + # --report-path is passed ABSOLUTE (overriding the config's relative `_artifacts`) so the report + # write succeeds regardless of the caller's CWD — otherwise chainsaw's relative path resolves + # against $PWD and fails ("open _artifacts/chainsaw-report.xml: no such file") when run.sh is + # invoked from the repo root instead of conformance/. + mkdir -p "${ARTIFACTS}" chainsaw test \ --config "${CONF_ROOT}/config/chainsaw-config.yaml" \ + --report-path "${ARTIFACTS}" \ "${test_dir_args[@]}" # Normalize whatever chainsaw named the report to a stable path CI collects.