Repository navigation
Conversation
There was a problem hiding this comment.
🔵 Needs a closer look
Whether all 38 pruned cherry-picks are genuinely superseded by the new tag across the nine environments can only be confirmed by a build/concretization, which the author notes is not yet validated and relies on CI.
No open issues 🎉
What changed in this PR
This PR bumps the spack-packages repository pin from v2026.06.0 to v2026.10.0 in spack-packages.sh and prunes the cherry-pick list accordingly. The spack-packages.sh file controls which revision of the community Spack package repository (and which extra patches on top of it) is baked into the base image, so this keeps the EIC containers aligned with upstream while dropping patches that are now included in the new tag.
Changes:
- Update
SPACKPACKAGES_VERSIONtov2026.10.0(a valid, existing upstream tag). - Remove 38 cherry-pick hashes (and their matching
## [hash]: descriptioncomments) that are now part of the tag or were squash-merged/re-committed upstream. - Keep 2 cherry-picks not yet in the tag (
acac89d6cuda CUDAFLAGS,d4fb37cepy-tensorflow libclang variant), each with its matching description comment.
| File | Description |
|---|---|
| spack-packages.sh | Bumps the pinned spack-packages tag and prunes the cherry-pick hash list and comment block down to the two commits not yet in the new tag. |
Notes verified during review: the v2026.10.0 tag and both retained commits exist upstream; the hash list and ## [hash]: description comment block remain in sync (2 ↔ 2, no orphans); the empty SPACKPACKAGES_CHERRYPICKS_FILES section references none of the removed hashes; and the only remaining reference to a removed hash (a115a811) is an explicitly-illustrative example in docs/spack-environment.md that is unrelated to this change.
Review effort: Balanced
There was a problem hiding this comment.
🔵 Needs a closer look
The changes are unvalidated Spack concretization/version adjustments (celeritas, py-torch, swig, global deprecated: true) whose correctness can only be confirmed by a full multi-arch build and depends on the dual GitHub/GitLab CI, which requires human judgment.
4 open issues
Review effort: Balanced
Drop cherry-picks now included in the tag; keep cuda CUDAFLAGS and py-tensorflow libclang variant. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
celeritas@0.6.3 requires vecgeom 1.x; cherry-pick spack-packages fa11df3, c322aa9 and 9007ffd (celeritas 0.7). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
A package-specific prefer replaces the defaults under 'all', so adding prefer ~cuda dropped the cuda_arch=75 preference and broke concretization of the cuda environment (py-torch requires an explicit cuda_arch). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
sherpa@3.0.1 SWIG wrapper fails to compile with swig@4.5.0 (PyString_FromString and PyInt_FromLong undeclared); master builds with swig@4.4.1. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Cherry-pick spack-packages 3919160 (g4adept: add v0.3.5, v0.4.1). g4adept 0.3.0 does not build with vecgeom >= 2.1. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
b3d7fed to
02be038
Compare


Bump spack-packages from v2026.06.0 to v2026.10.0, prune cherry-picks already in the tag, and make the follow-up changes the new tag requires.
spack-packages.sh
Tag:
v2026.06.0→v2026.10.0.Removed (38) cherry-picks: ancestors of the tag, plus commits squash-merged or re-committed upstream (detected by reverse-applying the diff on the tag tree and checking the package source): py-tensorboard 2.21, py-tensorflow 2.21.0 and xxd, acts PYTHONPATH and root variant, hepmc3, gaudi (equivalent
whenblock), github-copilot (tag has v1.0.65).Kept (2, not in tag):
--allow-unsupported-compilertoCUDAFLAGSAdded (4) (none are in the tag; first three for celeritas 0.7, last for g4adept):
@:0.6atvecgeom@1.2:1covfie ~cuda/vecgeom ~cudadependencies (needed for clean patch context of 9007ffd3)g4vg,covfieandgoogletestversion constraints andvecgeom@:2.0for@:0.3)spack-environment changes
celeritas@0.6.3:→@0.7:(packages.yaml). With the new tag,vecgeom@2resolved to 2.1.0, butceleritas@0.6.3only supports vecgeom 1.x, so it failed withVecGeom/navigation/NavStatePool.h: No such file or directoryineic_xl. celeritas 0.7 requiresvecgeom@1.2:1,2.2:, sovecgeom@2now resolves to 2.2.g4adept@0.3.0→@0.4.1(packages.yaml,cudaenvironment only).g4adept@0.3.0failed to build in thecudaenvironment againstvecgeom@2.2.0+cuda:too many arguments in function call(ComputeStepAndNextVolume(..., kPushDistance)),vecgeom::cxx::CudaManagernot a class or namespace, andincomplete type std::ifstream. All three come from vecgeom 2.1.0, which removed thepushargument fromBVHNavigator::ComputeStepAndNextVolumeand removedNavStatePath.h/NavStatePool.h(the headers that transitively providedCudaManager.hand<fstream>). AdePT dropped the push arguments in v0.4.0 and added the explicit includes in v0.3.2 (<fstream>) and v0.4.0 (CudaManager.h).vecgeom@2.1.0is new relative to the previous tag (spack-packages #5366, 2026-08-07). Not yet verified thatg4adept@0.4.1builds againstvecgeom@2.2.0.py-torchprefer: ~cuda(packages.yaml). In theeic_xlconcretization on this PR,py-torch@2.13.0resolved to+cuda, pulling incuda,cudnn,magmaandnccl.magmaandncclfailed to build against cuda 12.9.1 with the Debian 13 glibc headers (cospi/sinpiexception specification clash). Before the bumppy-torchwas~cudaineic_xl. This is aprefer, not arequire, so thecudaenvironment's explicitpy-torch +cudaspec still takes precedence. The entry also carrieswhen: '+cuda'→cuda_arch=75(same as underall): a package-specificpreferreplaces the defaults underall, so without itpy-torch +cudain thecudaenvironment concretized withcuda_arch=noneand failed (py-torch: Must specify CUDA compute capabilities of your GPU).swig@4.1:→@4.1:4.4(packages.yaml).sherpa@3.0.1with+pythonfails to compile its SWIG wrapper withswig@4.5.0(new in this tag):'PyString_FromString' was not declaredand'PyInt_FromLong' was not declared. master builds withswig@4.4.1. Upstream fixed this in sherpa commit5cc45a24(2026-09-07, "Improve support for Python3 with newest swig 4.5+"), but it is only on sherpamaster, not in any release through v3.0.5, and spack-packages only packages sherpa up to 3.0.3. The cap is global (theswigentry already constrains it, and environments are unified); it can be dropped once a sherpa release containing the fix is packaged.config:deprecated: true(config.yaml, commit 8f2b266, "cppgsl to ms-gsl rename"). This is a global setting: it allows deprecated versions of any package to be selected, not only the one affected by the rename. It was added to keep concretization working through the cppgsl → ms-gsl rename. It is broader than necessary and could mask other packages that resolve to a deprecated version; a narrower fix (pinning the affected package version) is a possible follow-up.Validation
Not yet validated by a full build or concretization; relying on GitHub Actions and the GitLab CI check. The
eic_xlamd64 failure on an earlier commit of this PR (magma, nccl, celeritas, sherpa) and thecudaenvironment failures (py-torchcuda_arch, g4adept) motivated the celeritas, py-torch, swig and g4adept changes above. Thesherpafailure is addressed by theswigcap above.🤖 Generated with Claude Code