Skip to content

[hipSOLVER][rocSOLVER] Pin build-time dependency fetches to immutable commits#8794

Open
qjojo wants to merge 2 commits into
developfrom
users/jonquist/solvers-pin-fetchcontent-deps
Open

[hipSOLVER][rocSOLVER] Pin build-time dependency fetches to immutable commits#8794
qjojo wants to merge 2 commits into
developfrom
users/jonquist/solvers-pin-fetchcontent-deps

Conversation

@qjojo

@qjojo qjojo commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

A security scan flagged that we should be pinning our external dependencies with hashes rather than relying on mutable URL or tags. This patch updates the solver libraries to reference specific commits and use more stable functionality for retrieving external dependencies.

… commits

Replace mutable branch/tag refs in FetchContent and ExternalProject
declarations with pinned 40-char commit SHAs so configure-time fetches
cannot be altered upstream:

- rocm-cmake (both libs): was develop/master branch, now therock-7.13 commit
- lapack: was the lapack-3.7.1 branch, now the v3.7.1 commit
- googletest: was the release-1.11.0 tag, now its commit

Also convert rocSOLVER's rocm-cmake fallback from a hand-built archive
URL download to git FetchContent, matching rocBLAS/rocSPARSE, so git
verifies the commit by SHA. Each pin carries a "pinned-dep" comment to
make future bumps easy to find.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>

@tfalders tfalders left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! One minor comment.

message(STATUS "ROCmCMakeBuildTools not found. Fetching...")
set(rocm_cmake_tag "develop" CACHE STRING "rocm-cmake tag to download")
# pinned-dep rocm-cmake: immutable commit (was the mutable "develop" branch).
# Corresponds to the therock-7.13 tag. Bump at each ROCm release cut.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might want to add something to the bump script to do the bump automatically or remind us.

Align the rocm-cmake fallback pin with the rest of the ROCm libraries
(rocBLAS/rocSPARSE/hipBLAS/rocALUTION all track rocm-6.4.0) instead of a
one-off therock tag, and reword the comment to reflect that this fetch is
a rarely-hit fallback rather than something bumped every release.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
@codecov-commenter

codecov-commenter commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

❌ Your project status has failed because the head coverage (77.89%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #8794   +/-   ##
========================================
  Coverage    71.50%   71.50%           
========================================
  Files         2612     2612           
  Lines       407895   407904    +9     
  Branches     60982    60983    +1     
========================================
+ Hits        291632   291653   +21     
+ Misses       94879    94865   -14     
- Partials     21384    21386    +2     
Flag Coverage Δ *Carryforward flag
TensileLite 76.92% <ø> (ø) Carriedforward from 12ebf35
hipBLAS 90.81% <ø> (ø) Carriedforward from 12ebf35
hipBLASLt 41.39% <ø> (+0.03%) ⬆️ Carriedforward from 12ebf35
hipCUB 82.68% <ø> (ø) Carriedforward from 12ebf35
hipDNN 86.74% <ø> (ø) Carriedforward from 12ebf35
hipFFT 50.17% <ø> (ø) Carriedforward from 12ebf35
hipRAND 76.12% <ø> (ø) Carriedforward from 12ebf35
hipSOLVER 69.18% <ø> (ø)
hipSPARSE 86.55% <ø> (ø) Carriedforward from 12ebf35
rocBLAS 48.49% <ø> (ø) Carriedforward from 12ebf35
rocFFT 47.16% <ø> (ø) Carriedforward from 12ebf35
rocRAND 57.07% <ø> (ø) Carriedforward from 12ebf35
rocSOLVER 77.89% <ø> (+<0.01%) ⬆️
rocSPARSE 72.37% <ø> (ø) Carriedforward from 12ebf35
rocThrust 91.34% <ø> (ø) Carriedforward from 12ebf35

*This pull request uses carry forward flags. Click here to find out more.
see 15 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants