Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
df42108
Use spack v1.0.2
mcfadden8 Oct 27, 2025
bf25ec1
tpl-manager.py now installs a local spack package repo to use instead…
ldowen Oct 27, 2025
b8e5ac3
Add umpire and raja as dependencies to spheral, reorder CI specs
ldowen Oct 27, 2025
1380d36
Add print statement to show the spec concretization
ldowen Oct 27, 2025
68dfdec
Change pkg.compiler to be just compiler in opensubdiv package recipe
ldowen Oct 27, 2025
54c16fc
Add python as direct dependency
ldowen Oct 27, 2025
3c8e292
Use magic mpi prefixes and remove the requires section from the packa…
ldowen Oct 27, 2025
40317f5
Fix incorrect flang prefix
ldowen Oct 27, 2025
26ff504
Removed blueos, updated LC cray package configs
mcfadden8 Oct 28, 2025
439685f
Adjust cray spack packages and environment
ldowen Oct 28, 2025
ec8d4d4
Add reuse: false and fix amd gpu target requirement in cray environment
ldowen Oct 28, 2025
6fcfa9c
Add c and cxx depends_on to polytope package
mcfadden8 Oct 28, 2025
aa9e1f0
Merge branch 'develop' into task/spack1.0.2
mcfadden8 Oct 29, 2025
282e3d8
Rename rocmcc toolchain to rocm_6_2_0
mcfadden8 Oct 29, 2025
9426d0c
Update default config.yaml with updated/new items in 1.0.2
mcfadden8 Oct 29, 2025
949c116
Revert config.yaml to previous version
mcfadden8 Oct 29, 2025
694cd79
Update projections in config.yaml to match v1.0.2
mcfadden8 Oct 29, 2025
a05b589
Make sure that spack does not mess with ~/.spack when running via CI …
mcfadden8 Oct 29, 2025
e728f80
Workaround unset variable warning from spack
mcfadden8 Oct 30, 2025
9a9285d
Shortened config.yaml to only contain differences from what spacks de…
mcfadden8 Oct 30, 2025
9c6b4ba
revert update to package name since aliases from old compiler names t…
mcfadden8 Oct 30, 2025
f523375
Removed deprecated generic and ubunto20.04 configs and environments
mcfadden8 Nov 4, 2025
22c2fd1
Update to Ubuntu from 20.04 --> 24.04
mcfadden8 Nov 5, 2025
220dcd9
Always show spack spec -IL
mcfadden8 Nov 10, 2025
5f3cc62
Use gcc-9 and openmpi with Ubuntu:24.04 to get build to working
mcfadden8 Nov 10, 2025
bbb8aaa
Add guard in axom package to enable builds with spec ~mpi on cray
mcfadden8 Nov 11, 2025
20c5d13
test-prod
mcfadden8 Nov 12, 2025
d789bf4
Improve update upstream call, change upstream location, prevent silen…
ldowen Nov 12, 2025
d2579ef
Fixed typo
mcfadden8 Nov 13, 2025
05fda70
Merge branch 'develop' into task/spack1.0.2
mcfadden8 Nov 13, 2025
c80cca2
Adjust gitlab CI rules to get update upstream to run on schedule
ldowen Nov 13, 2025
518607c
Another CI rule change
ldowen Nov 13, 2025
d2391bd
More rule changes
ldowen Nov 13, 2025
a0b5913
Must make sure every job has the rule or it will throw an error
ldowen Nov 13, 2025
f46b39e
Only access install_tree directly, install_tree:root causes an error …
ldowen Nov 13, 2025
0811f1c
Messy way to update upstreams but it works
ldowen Nov 14, 2025
44895cb
Use ubuntu 22.04 since it does not require GNU 13
mcfadden8 Nov 18, 2025
98db9f7
Merge branch 'task/spack1.0.2' of github.com:LLNL/spheral into task/s…
mcfadden8 Nov 18, 2025
4483b40
Fixed typo left in for debugging
mcfadden8 Nov 18, 2025
ed8cd34
Merge branch 'develop' into task/spack1.0.2
mcfadden8 Nov 19, 2025
a8b3785
Update to spack v1.1.0
mcfadden8 Nov 19, 2025
612c3ce
Update dev_pkg and improved spec output
ldowen Nov 20, 2025
f6049f9
Turn compiler mixing off for non cray machines
ldowen Nov 20, 2025
5b8749e
Bump back to Ubuntu 24.04 using openMPI
mcfadden8 Nov 20, 2025
0bc1d5e
Merge branch 'task/spack1.0.2' of github.com:LLNL/spheral into task/s…
mcfadden8 Nov 20, 2025
6fbefe3
Updates to stop pipeline if/when error occurs
mcfadden8 Nov 20, 2025
5b7383c
Removed the update upstream pipeline experiment
ldowen Nov 21, 2025
6547385
Fixed typo in update upstream gitlab ci rule
ldowen Nov 21, 2025
6204c98
Changed structure to match spack package update, switched llvm to llv…
ldowen Nov 24, 2025
02eb158
Update repo path for external builds
ldowen Nov 24, 2025
0b33d85
Fixed typo
ldowen Nov 24, 2025
fe05a6a
use config system to avoid ~/.spack for configs
becker33 Nov 24, 2025
4b6713f
Run with v2.2 of package which is spack v1.1 uses
mcfadden8 Nov 26, 2025
5f7676a
Merge branch 'develop' into task/spack1.0.2
mcfadden8 Nov 26, 2025
e8aa7fc
Merge develop into v1.0.2
mcfadden8 Nov 26, 2025
7aa0381
Removed eigen package since it is not needed with spack v1
mcfadden8 Dec 1, 2025
0203878
Set Fortran for LlvmAmdgpu
mcfadden8 Dec 1, 2025
f085f50
Removed the toolchains from the cray specs and replaced with rocmcc, …
ldowen Dec 1, 2025
1af4e80
Somehow missed a PYB11Generator update from develop
ldowen Dec 1, 2025
daa4ddb
More attempts to get amdflang to work with spack
ldowen Dec 2, 2025
b9f6131
Moved localization methods into the config.yaml from tpl-manager, mov…
ldowen Dec 2, 2025
218b48f
Update ATS to an in development branch for testing
ldowen Dec 3, 2025
7356eeb
Add build type back to language depends, bring back the spack cache e…
ldowen Dec 3, 2025
4521a5d
Move ATS back to the newly updated main branch
ldowen Dec 3, 2025
8de737f
Bring back the test run logic for the Dockerfile
ldowen Dec 4, 2025
c62b980
Merge branch 'develop' into task/spack1.0.2
ldowen Dec 8, 2025
87ef065
Bring in specific version of builtins for spack in order to get builds
mcfadden8 Jan 22, 2026
8378438
bump cmake to 2.52.2 for CTS builds
mcfadden8 Jan 26, 2026
62dc6fb
Merge branch 'develop' into task/spack1.0.2
mcfadden8 Jan 29, 2026
711de1b
Fix submodule references to match develop
mcfadden8 Jan 29, 2026
368b70a
Removed accidental merge of silo package
mcfadden8 Feb 6, 2026
9d96db8
Leave silo python path out for now
mcfadden8 Feb 10, 2026
4f7102c
Use 4.12 silo
mcfadden8 Feb 10, 2026
c91fb37
Add synchronization around concretization updates
mcfadden8 Feb 10, 2026
e41fac9
remove unused --package-repo command line argument
mcfadden8 Feb 11, 2026
991f5dd
python updates for using name instead of integer value for enum
mcfadden8 Feb 11, 2026
6b280f3
Temporary fix to test builtin git destination filled out at test time…
mcfadden8 Feb 12, 2026
7d8517b
Make spheral depend on python@3.12
mcfadden8 Feb 12, 2026
45761e4
refactored modify_env_file and custom_spack_env to refer to ../../con…
mcfadden8 Feb 12, 2026
d60dadd
Merge branch 'develop' into task/spack1.0.2
mcfadden8 Feb 12, 2026
0f82be7
Keep things consistent when --spack-dir is used or not
mcfadden8 Feb 13, 2026
e63875f
Merge branch 'develop' into task/spack1.0.2
mcfadden8 Feb 13, 2026
514079c
Moved upstream for spackv1.1 to spack_upstream/1.1.0
mcfadden8 Feb 13, 2026
ec07b0d
Fix update upstream in tpl manager and fix mismatch of CI files
ldowen Feb 13, 2026
87378df
Merge with develop
ldowen Feb 14, 2026
21a889f
Added diagnostics understand why DNS setup failing on github action C…
mcfadden8 Feb 17, 2026
bfb0325
Try adding packages to handle DNS resolution in Ubuntu 24.04
mcfadden8 Feb 17, 2026
d12b9b4
Trying actions/checkout@v4
mcfadden8 Feb 17, 2026
4d40fe8
Package version fixups for spack install without network
mcfadden8 Feb 17, 2026
61233b0
Make 0.12.0 be preferred for axom package
mcfadden8 Feb 18, 2026
9612892
Renamed --spack-dir to --tpl_dir
mcfadden8 Feb 19, 2026
602c7dc
Added source_cache dir name for spack instance
mcfadden8 Feb 19, 2026
5310a97
Release note update
mcfadden8 Feb 20, 2026
5d9fb42
Fix gitlab ci file bug
ldowen Feb 20, 2026
756d209
Update dev_pkg environment file
ldowen Feb 23, 2026
1fc6099
Remove deprecated command line arguments for tpl-manager and spack in…
ldowen Feb 23, 2026
91b3a49
Add info about spack version and configuration to output
mcfadden8 Feb 23, 2026
c7e6526
Added a separate spack environment that does not use the upstream whe…
ldowen Feb 23, 2026
b875854
Fix argument typo in tpl-manager
ldowen Feb 23, 2026
4d56109
Revert back to just having one dev_pkg spack env that is unaware of t…
ldowen Feb 24, 2026
ade31c0
Added error checking to build cache generation script
mcfadden8 Feb 24, 2026
de83fee
Replace '-' with '~' for spack specs of package dependencies
mcfadden8 Feb 25, 2026
bfa1c3b
Set group to sduser for package permissions
mcfadden8 Feb 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 26 additions & 9 deletions scripts/devtools/tpl-manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ def parse_args(self):
help="Use to do everything but actually install. For testing purposes.")
parser.add_argument("--id", type=str, default=None,
help="ID string to postfix an initconfig file.")
parser.add_argument("--package-repo", type=str, default=None,
help="Specify a location to put the spack-package repo. "+\
"Defaults to spheral-spack-tpls/packages.")
parser.add_argument("--dev-pkg", action="store_true",
help="Tells tpl-manager to use the dev_pkg environment. "+\
"Assumes TPLs are for buildcache creation if no --spec is provided. "+\
Expand All @@ -79,20 +82,34 @@ def parse_args(self):
if (self.args.spec):
print(f"Installing {self.args.spec}")

def add_spack_paths(self, spack_dir):
def add_spack_paths(self, spack_dir, package_repo):
"Append spack path to system to use spack python modules"
spack_path = os.path.join(spack_dir, "lib", "spack")
sys.path.append(spack_path)
spack_external_path = os.path.join(spack_path, "external")
sys.path.append(spack_external_path)
sys.path.append(os.path.join(spack_external_path, "_vendoring"))
sys.path.append(os.path.join(spack_path, "spack"))
sys.path.append(os.path.join(spack_path, "_vendoring"))
global spack, SpackCommand
try:
import spack
from spack.main import SpackCommand
spack = spack
except ImportError as e:
raise ImportError("Failed to import Spack python module") from e
repo_yaml = os.path.join(spack_dir, "etc/spack/repos.yaml")
if (not os.path.exists(repo_yaml)):
print("Spack instance does not have a builtin package repo set.")
if package_repo:
builtin_package = package_repo
if not os.path.isabs(package_repo):
builtin_package = os.path.join(spack_dir, package_repo)
else:
builtin_package = os.path.join(spack_dir, "../packages")
print(f"Creating a builtin package repo at {builtin_package}")
from spack.main import SpackCommand
repo_cmd = SpackCommand("repo")
repo_args = ["set", "--destination", os.path.abspath(builtin_package), "builtin"]
repo_cmd(*repo_args)
repo_cmd(*["update"])

def clone_spack(self):
"Clone Spack and add paths to use spack python"
Expand All @@ -111,7 +128,7 @@ def clone_spack(self):
uber_env_trash = os.path.join(spack_dir, "etc/spack/defaults/upstreams.yaml")
if (self.args.clean and os.path.exists(uber_env_trash)):
sexe(f"git -C {spack_dir} clean -df")
self.add_spack_paths(spack_dir)
self.add_spack_paths(spack_dir, self.args.package_repo)

def check_lock_file(self):
"Check if any files in scripts/spack are newer than the spack.lock file"
Expand Down Expand Up @@ -288,21 +305,21 @@ def concretize_spec(self, check_spec):
if (self.args.add_spec):
add_cmd = SpackCommand("add")
add_cmd(self.args.spec)
conc_cmd = SpackCommand("concretize")
conc_args = []
force_conc = False
if (self.args.clean):
conc_args.append("-f")
force_conc = True
print("Cleaning and concretizing environment")
else:
print("Concretizing environment")
conc_cmd(*conc_args)
conc_spec = self.spack_env.concretize(force=force_conc)
if (check_spec):
matches = self.spack_env.matching_spec(self.spack_spec)
if (not matches):
raise Exception(f"{self.args.spec} not found in current "+\
"environment. Rerun with --add-spec to add it.")
self.spack_spec = matches
print(f"Found matching root spec for {self.args.spec}")
self.spack_env.write()

def do_install(self, install_args, spec):
install_cmd = SpackCommand("install")
Expand Down
2 changes: 2 additions & 0 deletions scripts/spack/packages/leos/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ class Leos(CachedCMakePackage, CudaPackage, ROCmPackage):
variant("rocm", default=False, description="Build LIP using RAJA + ROCM GPU code")
variant("silo", default=True, description="Use Silo instead of LEOSPACT")

depends_on("c", type="build")
depends_on("cxx", type="build")
# FIXME: Add dependencies if this package requires them.
depends_on("mpi", when="+mpi")
depends_on("hdf5")
Expand Down
7 changes: 5 additions & 2 deletions scripts/spack/packages/opensubdiv/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ def url_for_version(self, version):
variant('pic', default=True,
description='Produce position-independent code (for shared libs)')

depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on('cmake@2.8.6:', type='build')
# depends_on('graphviz', type='build', when='+doc')
# depends_on('doxygen', type='build', when='+doc')
Expand All @@ -50,9 +52,10 @@ def url_for_version(self, version):

patch('oneapi.patch', when='%oneapi')

def setup_build_environment(self, env):
def setup_build_environment(self, env: EnvironmentModifications) -> None:
if '+pic' in self.spec:
env.append_flags('CFLAGS', self.compiler.cc_pic_flag)
env.append_flags('CFLAGS', self.pkg.compiler.cc_pic_flag)
env.append_flags('CXXFLAGS', self.pkg.compiler.cxx_pic_flag)

def cmake_args(self):
spec = self.spec
Expand Down
1 change: 1 addition & 0 deletions scripts/spack/packages/spheral/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class Spheral(CachedCMakePackage, CudaPackage, ROCmPackage):

depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fortran", type="build")

homepage = "https://spheral.readthedocs.io/"
git = "https://github.com/llnl/spheral.git"
Expand Down
Loading