fix: valgrind-codspeed version comparison#390
Conversation
Return a ValgrindVersion { semver, codspeed_iteration } from
parse_valgrind_codspeed_version so the runner can distinguish between
codspeed iterations of the same upstream valgrind version (e.g.
3.26.0.codspeed1 vs 3.26.0.codspeed2). The legacy `.codspeed` form
(no iteration) is still accepted and yields codspeed_iteration: None.
Refs COD-2674.
Merging this PR will not alter performance
|
Greptile SummaryThis PR fixes a version comparison bug where a stale CodSpeed-repackaged valgrind (same upstream semver but an older
Confidence Score: 5/5Safe to merge — the change is a targeted, well-tested fix to the version comparison path with no side-effects on install or download logic. The iteration constant is derived consistently across all three places it appears (deb rev, version string, comparison), the tuple comparison is lexicographically correct for the intended ordering, and nine new tests exercise every relevant boundary. No files require special attention. Important Files Changed
|
Previously only the upstream semver was compared, so a cached 3.26.0.codspeed2 build still satisfied the 3.26.0-0codspeed3 pin and stale valgrind builds were restored from the CI cache instead of being reinstalled. Compare the (semver, iteration) pair against the pinned values, treating legacy `.codspeed` builds without an iteration as iteration 0. The pinned iteration is a single constant that also forms the .deb revision, so future bumps stay in one place. Fixes COD-2782 Co-Authored-By: Claude <noreply@anthropic.com>
Print the installed valgrind version next to the expected pin at debug level so stale-cache issues are visible in CI logs.
5a6af7a to
f8f7496
Compare
No description provided.