summaryrefslogtreecommitdiff
path: root/share
AgeCommit message (Collapse)AuthorFilesLines
2024-11-14Rework `spack.database.InstallStatuses` into a flag (#47321)Massimiliano Culpo2-4/+4
2024-11-13dealii: add v9.6.0 (#45554)Luca Heltai3-4/+4
Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com> Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2024-11-11mirrors: allow username/password as environment variables (#46549)kwryankrattiger2-6/+36
`spack mirror add` and `set` now have flags `--oci-password-variable`, `--oci-password-variable`, `--s3-access-key-id-variable`, `--s3-access-key-secret-variable`, `--s3-access-token-variable`, which allows users to specify an environment variable in which a username or password is stored. Storing plain text passwords in config files is considered deprecated. The schema for mirrors.yaml has changed, notably the `access_pair` list is generally replaced with a dictionary of `{id: ..., secret_variable: ...}` or `{id_variable: ..., secret_variable: ...}`.
2024-11-08 `spack env track` command (#41897)Alec Scott2-1/+41
This PR adds a sub-command to `spack env` (`track`) which allows users to add/link anonymous environments into their installation as named environments. This allows users to more easily track their installed packages and the environments they're dependencies of. For example, with the addition of #41731 it's now easier to remove all packages not required by any environments with, ``` spack gc -bE ``` #### Usage ``` spack env track /path/to/env ==> Linked environment in /path/to/env ==> You can activate this environment with: ==> spack env activate env ``` By default `track /path/to/env` will use the last directory in the path as the name of the environment. However users may customize the name of the linked environment with `-n | --name`. Shown below. ``` spack env track /path/to/env --name foo ==> Tracking environment in /path/to/env ==> You can activate this environment with: ==> spack env activate foo ``` When removing a linked environment, Spack will remove the link to the environment but will keep the structure of the environment within the directory. This will allow users to remove a linked environment from their installation without deleting it from a shared repository. There is a `spack env untrack` command that can be used to *only* untrack a tracked environment -- it will fail if it is used on a managed environment. Users can also use `spack env remove` to untrack an environment. This allows users to continue to share environments in git repositories while also having the dependencies of those environments be remembered by Spack. --------- Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-11-06omega-h: new version and cuda conflicts for prior versions (#47473)Cameron Smith3-4/+4
* omegah: add version 10.8.6 * omegah: cuda without kokkos conflict * omegah: test with latest version in ci
2024-11-06Fix `spack -c <override>` when env active (#47403)Massimiliano Culpo3-1/+54
Set command line scopes last in _main, so they are higher scopes Restore the global configuration in a spawned process by inspecting the result of ctx.get_start_method() Add the ability to pass a mp.context to PackageInstallContext. Add shell-tests to check overriding the configuration: - Using both -c and -C from command line - With and without an environment active
2024-11-05omega-h: fix versioning and cuda compat (#47433)Harmen Stoppels3-4/+4
2024-11-03e4s ci stacks: reduce package prefs (#47381)eugeneswalker4-53/+4
2024-10-28cmd/solve: use interface from cmd/spec (#47182)Greg Becker2-8/+10
Currently, `spack solve` has different spec selection semantics than `spack spec`. `spack solve` currently does not allow specifying a single spec when an environment is active. This PR modifies `spack solve` to inherit the interface from `spack spec`, and to use the same spec selection logic. This will allow for better use of `spack solve --show opt` for debugging. --------- Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-28ML CI: Linux aarch64 (#39666)Adam J. Stewart3-0/+222
* ML CI: Linux aarch64 * Add config files * No aarch64 tag * Don't specify image * Use amazonlinux image Co-authored-by: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com> * Update and require * GCC is too old * Fix some builds * xgboost doesn't support old GCC + cuda * Run on newer Ubuntu * Remove mxnet * Try aarch64 range * Use main branch * Conflict applies to all targets * cuda only required when +cuda * Use tagged version * Comment out tf-estimator * Add ROCm, use newer Ubuntu * Remove ROCm --------- Co-authored-by: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com>
2024-10-26Add `-t` short option for `spack --backtrace` (#47227)Todd Gamblin2-4/+4
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-25Normalize Spack Win entry points (#38648)John W. Parent2-0/+78
* Normalize Spack Win entrypoints Currently Spack has multiple entrypoints on Windows that in addition to differing from *nix implementations, differ from shell to shell on Windows. This is a bit confusing for new users and in general unnecessary. This PR adds a normal setup script for the batch shell while preserving the previous "click from file explorer for spack shell" behavior. Additionally adds a shell title to both powershell and cmd letting users know this is a Spack shell * remove doskeys
2024-10-24Env help: expand and refine subcommand help and descriptions (#47089)Tamara Dahlgren2-33/+33
This PR is in response to a question in the `environments` slack channel (https://spackpm.slack.com/archives/CMHK7MF51/p1729200068557219) about inadequate CLI help/documentation for one specific subcommand. This PR uses the approach I took for the descriptions and help for `spack test` subcommands. Namely, I use the first line of the relevant docstring as the description, which is shown per subcommand in `spack env -h`, and the entire docstring as the help. I then added, where it seemed appropriate, help. I also tweaked argument docstrings to tighten them up, make consistent with similar arguments elsewhere in the command, and elaborate when it seemed important. (The only subcommand I didn't touch is `loads`.) For example, before: ``` $ spack env update -h usage: spack env update [-hy] env positional arguments: env name or directory of the environment to activate optional arguments: -h, --help show this help message and exit -y, --yes-to-all assume "yes" is the answer to every confirmation request ``` After the changes in this PR: ``` $ spack env update -h usage: spack env update [-hy] env update the environment manifest to the latest schema format update the environment to the latest schema format, which may not be readable by older versions of spack a backup copy of the manifest is retained in case there is a need to revert this operation positional arguments: env name or directory of the environment optional arguments: -h, --help show this help message and exit -y, --yes-to-all assume "yes" is the answer to every confirmation request ``` --------- Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-24bootstrap: add clingo 3.13 binaries and more (#47126)Harmen Stoppels7-624/+704
2024-10-23ci: Remove deprecated logic from the ci module (#47062)Scott Wittenburg4-166/+2
ci: Remove deprecated logic from the ci module Remove the following from the ci module, schema, and tests: - deprecated ci stack and handling of old ci config - deprecated mirror handling logic - support for artifacts buildcache - support for temporary storage url
2024-10-23ParaView: Various fixes to better support no mpi and fides builds (#47114)kwryankrattiger1-1/+1
* ParaView: Explicitly set the ENABLE_MPI on/off * Disallow MPI in the DAG when ~mpi * @5.13 uses 'remove_children', use pugixml@1.11:, See #47098 * cloud_pipelines/stacks/data-vis-sdk: paraview +raytracing: add +adios2 +fides Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2024-10-22spack arch: add --family --generic flags (#47078)Harmen Stoppels2-3/+7
This allows users to do: ``` spack install ... target=$(spack arch --target --family) spack install ... arch=$(spack arch --family) spack install ... target=$(spack arch --target --generic) spack install ... arch=$(spack arch --generic) ``` Deprecate `--generic-target` in favor of `--generic --target`
2024-10-21Devtools darwin (#46910)Tom Scogland3-0/+100
* stacks: add a stack for devtools on darwin After getting this whole mess building on darwin, let's keep it that way, and maybe make it so we have some non-ML darwin binaries in spack as well. * reuse: false for devtools * dtc: fix darwin dylib name and id On mac the convention is `lib<name>.<num>.dylib`, while the makefile creates a num suffixed one by default. The id in the file is also a local name rather than rewritten to the full path, this fixes both problems. * node-js: make whereis more deterministic * relocation(darwin): catch Mach-O load failure The MachO library can throw an exception rather than return no headers, this happened in an elf file in the test data of go-bootstrap. Trying catching the exception and moving on for now. May also need to look into why we're trying to rewrite an elf file. * qemu: add darwin flags to clear out warnings There's a build failure for qemu in CI, but it's invisible because of the immense mass of warning output. Explicitly specify the target macos version and remove the extraneous unknown-warning-option flag. * dtc: libyaml is also a link dependency libyaml is required at runtime to run the dtc binary, lack of it caused the ci for qemu to fail when the library wasn't found.
2024-10-21Build wrf%oneapi in aws-pcluster-x86_64_v4 stack (#47075)Stephen Sachs1-4/+2
2024-10-18e4s ci stacks: add nwchem (#47055)eugeneswalker5-0/+5
2024-10-17e4s ci stacks: add fftx cpu, cuda, and rocm builds (#47004)eugeneswalker6-0/+14
* e4s ci stacks: add fftx cpu, cuda, and rocm builds * disable fftx+rocm due to spack github issue #47034 * e4s oneapi: fftx has spack build error https://github.com/spack/spack/issues/47048
2024-10-16e4s external rocm ci: upgrade to v6.2.1 (#46871)eugeneswalker2-76/+76
* e4s external rocm ci: upgrade to v6.2.1 * use ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.2.1:2024.10.08 * magma +rocm: add entry for v6.2.1
2024-10-16ci: use ghcr.io images instead of dockerhub hosted (#46830)eugeneswalker7-12/+12
2024-10-15Reduce noop job resource requests (#46920)Caetano Melone1-2/+2
`no-spec-to-rebuild` jobs use far less resources than they request. For example, [this](https://gitlab.spack.io/spack/spack/-/jobs/12944487) job [used](https://prometheus.spack.io/api/v1/query_range?query=container_memory_working_set_bytes{pod=%22runner-dcsgp53u-project-2-concurrent-3-0ubclrr1%22}&start=1728655743&end=1728656543&step=1s) around 3MB. While this won't lead to any crazy cost savings, k8s requests effectively block other jobs from using the resources, so reducing this to a reasonable number is important.
2024-10-15env depfile: generate Makefile with absolute script path (#46966)Tobias Ribizel1-1/+1
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2024-10-14Don't require OIDC initialization for noop (#46921)kwryankrattiger1-0/+1
ref. https://github.com/spack/spack-infrastructure/pull/957
2024-10-10Use pcluster-alinux2 container image with pre-installed compilers (#44150)Stephen Sachs6-70/+76
2024-10-04`gc`: restrict to specific specs (#46790)Todd Gamblin2-1/+7
`spack gc` has so far been a global or environment-specific thing. This adds the ability to restrict garbage collection to specific specs, e.g. if you *just* want to get rid of all your unused python installations, you could write: ```console spack gc python ``` - [x] add `constraint` arg to `spack gc` - [x] add a simple test Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-10-03Noop jobs should do less work (#46732)kwryankrattiger1-0/+4
2024-10-02fix 'command -v' not in csh (#45845)Ray Huang1-2/+2
2024-09-30Update and standardize implementation of RADIUSS packages (#45648)Adrien Bernede1-2/+3
* Add latest releases of Camp, RAJA, Umpire, CHAI and CARE * Address review comments + blt requirement in Umpire * CARE @develop & @main: Submodules -> False * Changes in Umpire * Changes in RAJA * Changes in CHAI * Changes in RAJA: prefer 'spec.satisfies' to 'in spec' This is due to a non-equivalence in Spack with providers like mpi. See e.g. https://github.com/spack/spack/pull/46126 * Changes in Umpire: prefer 'spec.satisfies' to 'in spec' This is due to a non-equivalence in Spack with providers like mpi. See e.g. https://github.com/spack/spack/pull/46126 * Changes in CARE: Still need to update to CachedCMakePackage based on RADIUSS Spack Configs version * Missing change in RAJA + changes in fmt * Fix synta * Changes in Camp * Fix style * CHAI: when ~raja, turn off RAJA in build system * Fix: Ascent@0.9.3 does not support RAJA@2024.07.0 * Enforce same version constraint on Umpire as for RAJA * Enforce preferred version of vtk-m in ascent 0.9.3 * Migrate CARE package to CachedCMakePackage * Fix style in CARE package * CARE: Apply changes for uniform implementation accross RADIUSS projects * Caliper: move to CachedCMakePackage, from RADIUSS Spack Configs * Adapt RAJA Perf to spack CI * Activate CHAI, CARE and RAJAPerf in Spack CI * Fixes and diffs with RADIUSS Spack Configs * Caliper: fix * Caliper : fix + RAJAPerf : style * RAJAPerf: fixes * Update maintainers * raja-perf: fix license header * raja-perf: Fix variant naming openmp_target -> omptarget * raja-perf: style and blt dependency versions * CARE: benchmark and examples off by default (like tests) * CARE: fix missing variable * Update var/spack/repos/builtin/packages/raja-perf/package.py * CARE: fix branch name * Revert changes in MFEM to pass CI * Fix CXX17 condition in RAJA + add sycl option in RAJAPerf --------- Co-authored-by: Rich Hornung <hornung1@llnl.gov>
2024-09-26developer-tools-ci: remove version constraint on Emacs (#46590)Alec Scott1-1/+1
2024-09-24ML CI: Ubuntu 22 -> 24 (#45644)Adam J. Stewart4-12/+10
2024-09-19run-unit-tests: no xdist if coverage (#46480)Harmen Stoppels1-3/+3
xdist only slows down unit tests under coverage
2024-09-17cloud_pipelines/.gitlab-ci.yml: run spack arch (#46437)Harmen Stoppels1-0/+1
2024-09-16Revert "allow failure for cray-sles (#46411)" (#46413)kwryankrattiger1-1/+0
This reverts commit 576251f0dad79d0e69f73eb393ce40a0921df0b4.
2024-09-16allow failure for cray-sles (#46411)Harmen Stoppels1-0/+1
2024-09-13Optionally output package namespace (#46359)Kyle Knoepfel2-2/+4
2024-09-12e4s rocm external ci stack: upgrade to rocm v6.2.0 (#46328)eugeneswalker2-76/+76
* e4s rocm external ci stack: upgrade to rocm v6.2.0 * magma: add rocm 6.2.0
2024-09-10bugfix: `elfutils` has no bzip2 or xz variants (#46294)Todd Gamblin1-1/+1
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-09-09gptune: new test API (#45383)AcriusWinter1-1/+0
* gptune: new test API * gptune: cleanup; finish API changes; separate unrelated test parts * gptune: standalone test cleanup with timeout constraints * gptune: ensure stand-alone test bash failures terminate; enable in CI * gptune: add directory to terminate_bash_failures * gptune/stand-alone tests: use satisifes for checking variants --------- Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
2024-09-06use updated container with cmake@3.30.2 (#46262)eugeneswalker2-2/+2
2024-09-06Bootstrap GnuPG and `file` on Windows (#41810)John W. Parent3-2/+6
Spack can now bootstrap two new dependencies on Windows: GnuPG, and file. These dependencies are modeled as a separate package, and they install a cross-compiled binary. Details on how they binaries are built are in https://github.com/spack/windows-bootstrap-resources
2024-09-06fish: use shlex.quote instead of custom quote (#46251)Harmen Stoppels1-45/+45
2024-09-05spack deprecate: deprecate --link-type flag (#46202)Harmen Stoppels1-1/+1
2024-09-02e4s ci stacks: add geopm-runtime (#45881)eugeneswalker3-3/+2
2024-08-30windows-vis: vtk~mpi (#46133)Harmen Stoppels1-1/+1
2024-08-30cray: allow failure due to broken blas (#46111)Harmen Stoppels1-0/+2
1. libsci_cray.so is broken, as it fails to list `libdl.so` in DT_NEEDED. 2. cray compilers fail to build a different blas
2024-08-27lammps: improve FFT selection and add fft_kokkos variant (#45969)Nick Hagerty1-2/+2
2024-08-22Make spack compiler find use external find (#45784)Massimiliano Culpo2-4/+8
so that there is no duplicate detection logic for compilers