ci: add Valgrind analysis tooling - #2591
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Sanitizer detection misses static Clang runtimes, and CI does not execute an end-to-end Valgrind lane.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds maintained Valgrind-family analysis tooling, container integration, and maintainer guidance.
Changes:
- Adds a 13-target Valgrind registry and evidence workflow.
- Exposes helpers through the unified container.
- Documents Memcheck, Helgrind, DRD, Massif, and Callgrind usage.
File summaries
| File | Description |
|---|---|
docs/valgrind-analysis.md |
Documents analysis workflows. |
docs/regression-container.md |
Links container tooling. |
docs/index.md |
Adds documentation navigation. |
Dockerfile |
Installs Valgrind helper commands. |
AGENTS.md |
Adds maintainer navigation. |
.github/workflows/ci-docker.yml |
Checks container integration. |
.github/skills/valgrind-analysis/SKILL.md |
Defines analysis guidance. |
.github/skills/README.md |
Registers the skill. |
.github/prompts/valgrind-analysis.prompt.md |
Adds task template. |
.github/copilot-instructions.md |
Registers guidance resources. |
.github/ci/valgrind/validate.sh |
Validates target definitions. |
.github/ci/valgrind/targets.sh |
Defines analysis targets. |
.github/ci/valgrind/status.sh |
Summarizes evidence. |
.github/ci/valgrind/run.sh |
Runs analyzers and records results. |
.github/ci/valgrind/README.md |
Describes the component. |
.github/ci/valgrind/build.sh |
Builds isolated Debug targets. |
.github/ci/docker/iccdev-banner.sh |
Advertises container helpers. |
.github/agents/valgrind-analysis.agent.md |
Adds agent workflow guidance. |
Review details
- Files reviewed: 18/18 changed files
- Comments generated: 2
- Review effort level: Balanced
Pre Merge Report2026-09-18 14:59:24 UTC PR bumps the Configs for QA Tooling for recent updates seen in |
There was a problem hiding this comment.
🟡 Changes recommended
Target selection, failure classification, and build isolation contain unresolved correctness issues.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (2)
Previously missed (2) — in code that hasn't changed since the last review.
.github/ci/valgrind/run.sh:159
--allow-findingscurrently turns every nonzero child exit into success, not just Valgrind findings. A malformed target invocation, loader failure, abort, or crash is labeledfindinghere and can be accepted, contrary to the documented analyzer-only exception. Reserve the exception for Valgrind's exit code 86 (or a zero-status parsed error count), and always fail other child exits.
.github/ci/valgrind/targets.sh:161- This lane exits before exercising threaded row application.
MS_smCowsIcon.tifis an 8-channel multispectral image (Testing/README.md:145-149), but the first sRGB profile has three source channels, soiccApplyProfilesrejects the sample-count mismatch atTools/CmdLine/IccApplyProfiles/iccApplyProfiles.cpp:623-640. Use the tracked 3-channel RGB TIFF for this lane; keep the multispectral TIFF fortiffdump.
- Files reviewed: 19/19 changed files
- Comments generated: 1
- Review effort level: Balanced
|
Codex Reply: Suppressed-comment disposition for review 5249327097 (tested against ab088fd, repaired in 636f8b9):\n\n- |
636f8b9 to
6e98ec6
Compare
PR QA Report2026-09-18 16:27:08 UTC Note: Codex generated: DRD
The corresponding wait paths are at lines 210-211. Helgrind reports the same registered workload clean. DRD and Helgrind generated byte-identical output TIFFs (79,224 bytes; SHA-256 This is not introduced by PR 2591. It was retained as a finding and not suppressed. PR QA Summary
|
Pre Merge Note (2)2026-09-18 16:37:49 UTC IntentMerge
|
Pre Merge Note (3)2026-09-18 16:44:39 UTC QA PR SummaryJob Success: https://github.com/InternationalColorConsortium/iccDEV/actions/runs/35368857378
Intent
|
PR Summary
Resolves: #2590
Tested: CI Boot Image
2026-09-18 14:31:22 UTC
CI Repro on ICS w/ V5 Seeding
Local Testing
2026-09-18 14:14:55 UTC
Checklist
docs/build.mddocs/ctest.mdbase...HEADcontract matrix for cross-cutting changes:producer, consumer, build/runtime behavior, platform/toolchain boundary,
CI trigger, dependency owner, and local evidence
docs/python-packaging-release.mdfor PR and merge requirementsm_membersLegal Requirements
All official software projects hosted by the International Color Consortium (ICC)
follows the open source software best practice policies. The International Color Consortium IP policy governs ICC specification development and contributions to ICC open source software. Software contributions are also covered by the Contributor License Agreement (CLA).
Contributor License Agreements
Developers who wish to contribute code to be considered for inclusion
in ICC software must first complete a Contributor License Agreement
(CLA).
There is no cost or membership requirement to sign the ICC Contributor License Agreement (CLA). Please note that this is different from membership in the International Color Consortium (ICC). If your organization relies on our projects, please become a member. Membership dues are an essential source of funding and investment for these projects.
If you are an individual writing the code on your own time and you are SURE you are the sole owner of any intellectual property you contribute, you can sign the CLA as an individual contributor.
If you are writing the code as part of your job, or if there is any possibility that your employer might think they own any intellectual property you create, then you should use the Corporate Contributor Licence Agreement
License
ICC software is licensed under the BSD 3-Clause "New" or "Revised" License. Contributions to ICC software projects should abide by that license unless otherwised specified or approved by the ICC.
Copyright Notices
All new source files must begin with the ICC Copyright notice and include or reference the BSD 3-Clause "New" or "Revised" License.
INTELLECTUAL PROPERTY & PATENTS
Participation in ICC's development activities is subject to ICC's Patent Policy.
Maintainer Review Required
If you have questions, contact a listed Maintainer.