Skip to content

COMP: Install the tools the analysis jobs actually invoke - #78

Merged
hjmjohnson merged 1 commit into
masterfrom
fix/buildyml-jobs
Sep 22, 2026
Merged

hjmjohnson merged 1 commit into
masterfrom
fix/buildyml-jobs

Conversation

@hjmjohnson

Copy link
Copy Markdown
Member

Two of the five Build and Test jobs have never run to completion. Neither failure is in the code under review — both die installing dependencies.

Job Failure Cause
sanitize-clang-linux exit 127, scan-build: command not found clang-tools never installed
rel-clang-macos exit 1, No available formula with the name "sed" sed is not a Homebrew formula
-  sudo apt-get install -y cmake valgrind help2man
+  sudo apt-get install -y cmake valgrind help2man clang-tools

-  brew install cmake sed help2man
+  brew install cmake gnu-sed help2man
Why this went unnoticed

Both defects date from the 2025 conversion to GitHub Actions and have never regressed, because the jobs never ran. The workflow's trigger named main while this repository's branch is master, so Build and Test did not execute on master or on pull requests until #77 corrected it. The first real runs then exposed the dependency lists as they had always been.

macOS ships BSD sed; the GNU one the dashboard scripts expect is gnu-sed. scan-build ships in clang-tools on Debian and Ubuntu, not in clang itself.

What is still red after this, and why
Job State Blocker
use_prefix-gcc-linux green —
sanitize-clang-linux fixed here —
rel-clang-macos fixed here —
coverage-gcc-linux red three -Wsign-compare warnings, all fixed by #51
valgrind-gcc-linux red unclear; see below

coverage-gcc-linux reports 345/345 tests passing, 0 compiler errors and 2 compiler warnings, then fails the check at cmake/nifti_common.cmake:472, which treats any warning as fatal. Reproduced with that job's own flags on Ubuntu 24.04 / GCC 13.3, the warnings are:

nifti2/nifti_tool.c:888    comparison of integer expressions of different signedness [-Wsign-compare]
nifti2/nifti_tool.c:2370   comparison of integer expressions of different signedness [-Wsign-compare]
niftilib/nifti1_tool.c:726 comparison of integer expressions of different signedness [-Wsign-compare]

#51 changes exactly those three lines. Merging it turns this job green without relaxing the gate.

valgrind-gcc-linux is the one that needs investigation rather than a fix. It reports 331/331 tests passing, zero compiler warnings and zero errors, and still fails at nifti_common.cmake:472. None of the five conditions in that if obviously matches, so which one fires should be established before anything there is changed.

Note on the leak fixes that just merged

#62, #60 and #69 do not change the memcheck result. Measured on Ubuntu 24.04 / GCC 13.3, Debug, cifti and fsl on, master and master plus all three both report Potential Memory Leak - 177 across the same thirteen tests with identical per-test counts.

Those changes are still correct. They free memory on error paths, and the suite does not take error paths — consistent with there being no malformed-input corpus. Whatever valgrind-gcc-linux is reporting, it is not what those three PRs addressed.

Two of the five Build and Test jobs have never run to completion.

sanitize-clang-linux invokes scan-build, which lives in clang-tools and
was not installed, so the job exits 127 before configuring.

rel-clang-macos asks brew for "sed", which is not a formula; brew fails
the step and the job exits 1 before configuring. The GNU sed the
dashboard scripts expect is gnu-sed.

Both predate the workflow's first successful run, so neither has
regressed; the trigger named the wrong branch until recently and the
jobs never executed.
@hjmjohnson
hjmjohnson merged commit 48c7dda into master Sep 22, 2026
21 checks passed
@hjmjohnson
hjmjohnson deleted the fix/buildyml-jobs branch September 22, 2026 00:48
@hjmjohnson

Copy link
Copy Markdown
Member Author

The commit messages in this range were rewritten to remove trailers that do not belong in permanent history: Co-Authored-By: naming an AI tool, and Claude-Session: URLs that resolve for nobody. Only messages changed — the tree at the tip of master is byte-identical, and author, committer, and dates are preserved.

This PR's commit on the rewritten master:

  • 31474388dc COMP: Install the tools the analysis jobs actually invoke

The SHA recorded above by GitHub is from the pre-rewrite history and no longer resolves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant