Skip to content

build(deps): bump spack-packages to v2026.10.0 - #459

Open
wdconinc wants to merge 9 commits into
masterfrom
spack-packages-2026.10.0
Open

wdconinc wants to merge 9 commits into
masterfrom
spack-packages-2026.10.0

Conversation

@wdconinc

@wdconinc wdconinc commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

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 when block), github-copilot (tag has v1.0.65).

Kept (2, not in tag):

  • acac89d6: cuda: append --allow-unsupported-compiler to CUDAFLAGS
  • d4fb37ce: py-tensorflow: add libclang variant

Added (4) (none are in the tag; first three for celeritas 0.7, last for g4adept):

  • fa11df3b: vecgeom: new versions 2.1.1, 2.2; caps celeritas @:0.6 at vecgeom@1.2:1
  • c322aa99: celeritas: covfie ~cuda / vecgeom ~cuda dependencies (needed for clean patch context of 9007ffd3)
  • 9007ffd3: celeritas: new version 0.7
  • 39191607: g4adept: add v0.3.5, v0.4.1 (also adds g4vg, covfie and googletest version constraints and vecgeom@:2.0 for @:0.3)

spack-environment changes

  • celeritas @0.6.3: → @0.7: (packages.yaml). With the new tag, vecgeom@2 resolved to 2.1.0, but celeritas@0.6.3 only supports vecgeom 1.x, so it failed with VecGeom/navigation/NavStatePool.h: No such file or directory in eic_xl. celeritas 0.7 requires vecgeom@1.2:1,2.2:, so vecgeom@2 now resolves to 2.2.
  • g4adept @0.3.0 → @0.4.1 (packages.yaml, cuda environment only). g4adept@0.3.0 failed to build in the cuda environment against vecgeom@2.2.0+cuda: too many arguments in function call (ComputeStepAndNextVolume(..., kPushDistance)), vecgeom::cxx::CudaManager not a class or namespace, and incomplete type std::ifstream. All three come from vecgeom 2.1.0, which removed the push argument from BVHNavigator::ComputeStepAndNextVolume and removed NavStatePath.h/NavStatePool.h (the headers that transitively provided CudaManager.h and <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.0 is new relative to the previous tag (spack-packages #5366, 2026-08-07). Not yet verified that g4adept@0.4.1 builds against vecgeom@2.2.0.
  • py-torch prefer: ~cuda (packages.yaml). In the eic_xl concretization on this PR, py-torch@2.13.0 resolved to +cuda, pulling in cuda, cudnn, magma and nccl. magma and nccl failed to build against cuda 12.9.1 with the Debian 13 glibc headers (cospi/sinpi exception specification clash). Before the bump py-torch was ~cuda in eic_xl. This is a prefer, not a require, so the cuda environment's explicit py-torch +cuda spec still takes precedence. The entry also carries when: '+cuda' → cuda_arch=75 (same as under all): a package-specific prefer replaces the defaults under all, so without it py-torch +cuda in the cuda environment concretized with cuda_arch=none and failed (py-torch: Must specify CUDA compute capabilities of your GPU).
  • swig @4.1: → @4.1:4.4 (packages.yaml). sherpa@3.0.1 with +python fails to compile its SWIG wrapper with swig@4.5.0 (new in this tag): 'PyString_FromString' was not declared and 'PyInt_FromLong' was not declared. master builds with swig@4.4.1. Upstream fixed this in sherpa commit 5cc45a24 (2026-09-07, "Improve support for Python3 with newest swig 4.5+"), but it is only on sherpa master, not in any release through v3.0.5, and spack-packages only packages sherpa up to 3.0.3. The cap is global (the swig entry 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_xl amd64 failure on an earlier commit of this PR (magma, nccl, celeritas, sherpa) and the cuda environment failures (py-torch cuda_arch, g4adept) motivated the celeritas, py-torch, swig and g4adept changes above. The sherpa failure is addressed by the swig cap above.

🤖 Generated with Claude Code

Copilot AI balanced review requested due to automatic review settings October 16, 2026 21:03

Copilot AI 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.

🔵 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_VERSION to v2026.10.0 (a valid, existing upstream tag).
  • Remove 38 cherry-pick hashes (and their matching ## [hash]: description comments) that are now part of the tag or were squash-merged/re-committed upstream.
  • Keep 2 cherry-picks not yet in the tag (acac89d6 cuda CUDAFLAGS, d4fb37ce py-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

@wdconinc
wdconinc requested a balanced review from Copilot and removed request for Copilot October 17, 2026 15:06
@wdconinc
wdconinc requested a review from veprbl October 17, 2026 16:15
@wdconinc
wdconinc enabled auto-merge (squash) October 17, 2026 16:16
@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Capybara summary for PR 459

Copilot AI balanced review requested due to automatic review settings October 17, 2026 19:09

This comment was marked as outdated.

@wdconinc
wdconinc requested a balanced review from Copilot and removed request for Copilot October 17, 2026 19:25
Copilot AI balanced review requested due to automatic review settings October 17, 2026 22:46

Copilot AI 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.

🔵 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

Comment thread spack-environment/packages.yaml
Comment thread spack-environment/packages.yaml
wdconinc and others added 8 commits October 18, 2026 15:26
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>

This branch was successfully deployed

1 active deployment
github-pages — 9240baac Deployed Oct 18, 2026 by wdconinc via deploy-artifacts-page #4400
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.

3 participants