summaryrefslogtreecommitdiff
path: root/share
AgeCommit message (Collapse)AuthorFilesLines
2023-06-14modules: use depends-on to autoload module with Lmod on Tcl (#38347)Xavier Delaruelle1-1/+9
Update Tcl modulefile template to use the `depends-on` command to autoload modules if Lmod is the current module tool. Autoloading modules with `module load` command in Tcl modulefile does not work well for Lmod at some extend. An attempt to unload then load designated module is performed each time such command is encountered. It may lead to a load storm that may not end correctly with large number of module dependencies. `depends-on` command should be used for Lmod instead of `module load`, as it checks if module is already loaded, and does not attempt to reload this module. Lua modulefile template already uses `depends_on` command to autoload dependencies. Thus it is already considered that to use Lmod with Spack, it must support `depends_on` command (version 7.6+). Environment Modules copes well with `module load` command to autoload dependencies (version 3.2+). `depends-on` command is supported starting version 5.1 (as an alias of `prereq-all` command) which was relased last year. This change introduces a test to determine if current module tool that evaluates modulefile is Lmod. If so, autoload dependencies are defined with `depends-on` command. Otherwise `module load` command is used. Test is based on `LMOD_VERSION_MAJOR` environment variable, which is set by Lmod starting version 5.1. Fixes #36764
2023-06-13modules: append trailing delimiter to MANPATH when set (#36678)Xavier Delaruelle2-0/+8
Update modulefile templates to append a trailing delimiter to MANPATH environment variable, if the modulefile sets it. With a trailing delimiter at ends of MANPATH's value, man will search the system man pages after searching the specific paths set. Using append-path/append_path to add this element, the module tool ensures it is appended only once. When modulefile is unloaded, the number of append attempt is decreased, thus the trailing delimiter is removed only if this number equals 0. Disclaimer: no path element should be appended to MANPATH by generated modulefiles. It should always be prepended to ensure this variable's value ends with the trailing delimiter. Fixes #11355.
2023-06-12buildcache: remove deprecated api (#37246)Harmen Stoppels1-6/+6
The API was deprecated in v0.20 and is slated for removal in v0.21
2023-06-09install status arg: update to default true and add inverse (#38252)Greg Becker1-2/+2
* install status arg: update to default true and add inverse * update bash completion * fix tests broken by output change
2023-06-09containerize: use an ENTRYPOINT script (#37769)Jonathon Anderson1-3/+9
2023-06-09Hotfix to avoid building compilers from sources in pcluster pipelines (#38256)Massimiliano Culpo5-5/+20
The pcluster image has am internal buildcache without an index. Also, we need to force reuse to avoid rebuilding GCC, since the default is to only reuse dependencies - and that is subject to changes in the GCC recipe.
2023-06-08e4s oneapi ci: use official intel oneapi-derived runner image (#38176)eugeneswalker2-156/+131
* e4s oneapi ci: use official intel oneapi-derived runner image * update oneapi image * tau builds ok, but only with libdrm - comment out for now, follow up with pr later
2023-06-06E4S Cray CI Stack (#37837)eugeneswalker6-1/+502
* e4s cray ci stack * e4s ci: add cray * add zen4 tag * WIP: new defintions just for cray * updates * remove ci signing job overrride, not necessary * echo $PATH and show modules loaded * add mirror * add external def for cray-libsci * comment out quantum-espresso * use /etc/protected-runner as key path * cray ci stack: do not remove tags: [spack, public] * make cray stack composable * generate job should run on public tagged runner, override default config:install_tree:root * CI: Use relative path in default script * CI: Use relative includes paths for shell runners * Use concrete_env_dir for relpath * ml-darwin-aarch64-mps: jax has bazel codesign issue --------- Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com> Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
2023-06-06containers: don't install epel-release on Fedora (#37766)Jonathon Anderson7-36/+36
2023-06-03llvm: optionally build compiler-rt, libcxx and libunwind as runtimes (#32476)Sergey Kosukhin1-1/+1
* llvm: replace +omp_as_runtime with omp=runtime * llvm: fetch 'libomp-libflags-as-list.patch' from upstream repo * llvm: replace 'llvm14-hwloc-ompd.patch' with the official fix from upstream repo * llvm: fix-up for the black reformatting * llvm: fetch 'constexpr_longdouble.patch' from upstream repo * llvm: optionally build libcxx as a runtime * llvm: fetch 'llvm5-sanitizer-ustat.patch' from upstream repo * llvm: update 'sanitizer-ipc_perm_mode.patch' * llvm: refactor compiler conflicts when libcxx=project * llvm: fetch 'llvm_python_path.patch' from upstream repo * llvm: update comments and condition for 'xray_buffer_queue-cstddef.patch' * llvm: optionally build compiler-rt as a runtime * llvm: fetch 'lldb_external_ncurses-10.patch' from upstream repo * llvm: fetch 'llvm_py37.patch' from upstream repo * llvm: rename variant 'internal_unwind' to 'libunwind' * llvm: optionally build libunwind as a runtime * llvm: extend the list of maintainers * llvm: allow for explicit '~clang~flang~libomptarget~lldb~omp_debug~z3' * llvm: fetch 'llvm5-lld-ELF-Symbols.patch' from FreeBSD port repo * llvm: fetch most of 'missing-includes.patch' from upstream repo and reuse 'llvm-gcc11.patch' * llvm: regroup patches for missing include directives and drop compiler constraints for them * llvm: fetch 'llvm-gcc11.patch' from upstream repo * llvm: fetch 'no_cyclades.patch' from upstream repo * llvm: update comments and condition for 'no_cyclades9.patch' * llvm: rename variant 'omp' to 'openmp' * llvm: constrain and rename variant 'omp_tsan' to 'libomp_tsan' * llvm: rename variant 'omp_debug' to 'libomptarget_debug' * llvm: do not apply same patch twice * llvm: constrain and document the '*-thread.patch' patches * llvm: document the '~lld+libomptarget' conflict * llvm: update comments for the 'D133513.diff' patch
2023-05-30Bugfix: cray manifest parsing regression (#37909)Tiziano Müller1-1/+1
fa7719a changed syntax for specifying exact versions, which are required for some compiler specs (including those read as part of parsing a Cray manifest). This fixes that and also makes a couple other improvements to manifest parsing. * Instantiate compiler specs with exact versions (fixes #37893) * fix slingshot network detection (CPE 22.10+ has libcxi.so in /usr/lib64) * "spack external find": add arg to ignore default dir for cray manifests
2023-05-25update ci ml darwin keypath (#37927)eugeneswalker1-3/+3
2023-05-25Add macOS ML CI stacks (#36586)Adam J. Stewart6-172/+223
* Add macOS ML CI stacks * torchmeta is no longer maintained and requires ancient PyTorch * Add MXNet * update darwin aarch64 stacks * add darwin-aarch64 scoped config.yaml * remove unnecessary cleanup job * fix specifications * fix labels * fix labels * fix indent on tags specification * no tags for trigger jobs * try overriding tags in stack spack.yaml * do not use CI_STACK_CONFIG_SCOPES * incorporate config:install_tree:root: overrides and compiler defs * copy relevant ci-scoped config settings directly into stack spack.yaml * remove build-job-remove * spack ci generate: add debug flag * include cdash config directly in stack spack.yaml * customize build-job script section to avoid absolute paths * add any-job specification * tags: use aarch64-macos instead of aarch64 * generate tags: use aarch64-macos instead of aarch64 * do not add morepadding * use shared mirror; comment out known failures * remove any-job * nproc || true * comment out specs failing due to bazel from cache codesign issue --------- Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2023-05-24Pcluster local buildcache (#37852)Stephen Sachs5-38/+23
* [pcluster pipeline] Use local buildcache instead of upstream spack Spack currently does not relocate compiler references from upstream spack installations. When using a buildcache we don't need an upstream spack. * gcc needs to be installed via postinstall to get correct deps * quantum-espresso@gcc@12.3.0 returns ICE on neoverse_{n,v}1 * Force gitlab to pull the new container * Revert "Force gitlab to pull the new container" This reverts commit 3af5f4cd88245138992deb2a46c17e6f85858d68. Seems the gitlab version does not yet support "pull_policy" in .gitlab-ci.yml * Gitlab keeps picking up wrong container. Renaming * Update containers once more after failed build
2023-05-23e4s ci: add dealii (#32484)eugeneswalker1-0/+1
2023-05-17Add aws-plcuster[-aarch64] stacks (#37627)Stephen Sachs9-0/+394
Add aws-plcuster[-aarch64] stacks. These stacks build packages defined in https://github.com/spack/spack-configs/tree/main/AWS/parallelcluster They use a custom container from https://github.com/spack/gitlab-runners which includes necessary ParallelCluster software to link and build as well as an upstream spack installation with current GCC and dependencies. Intel and ARM software is installed and used during the build stage but removed from the buildcache before the signing stage. Files `configs/linux/{arch}/ci.yaml` select the necessary providers in order to build for specific architectures (icelake, skylake, neoverse_{n,v}1).
2023-05-16CI: Expand E4S ROCm stack to include missing DaV packages (#36843)kwryankrattiger1-3/+3
* CI: Expand E4S ROCm stack to include missing DaV packages Ascent: Fixup for VTK-m with Kokkos backend * DaV SDK: Removed duplicated openmp variant for ascent * Drop visit and add conflict for Kokkos * E4S: Drop ascent from CUDA builds
2023-05-16Requirements and preferences should not define (non-git) versions (#37687)Peter Scheibel1-2/+2
Ensure that requirements `packages:*:require:@x` and preferences `packages:*:version:[x]` fail concretization when no version defined in the package satisfies `x`. This always holds except for git versions -- they are defined on the fly.
2023-05-16gitlab ci: reduce job name length of build_systems pipeline (#37686)Scott Wittenburg1-1/+1
2023-05-15oneapi: before script load modules (#37678)Harmen Stoppels1-0/+4
2023-05-13e4s ci stacks: add: hdf5-vol-{log,cache} (#37651)eugeneswalker2-0/+4
2023-05-12gitlab ci: release fixes and improvements (#37601)Scott Wittenburg2-460/+197
* gitlab ci: release fixes and improvements - use rules to reduce boilerplate in .gitlab-ci.yml - support copy-only pipeline jobs - make pipelines for release branches rebuild everything - make pipelines for protected tags copy-only * gitlab ci: remove url changes used in testing * gitlab ci: tag mirrors need public key Make sure that mirrors associated with release branches and tags contain the public key needed to verify the signed binaries. This also ensures that when stack-specific mirror contents are copied to the root, the root mirror has the public key as well. * review: be more specific about tags, curl flags * Make the check in ci.yaml consistent with the .gitlab-ci.yml --------- Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
2023-05-11e4s ci: trilinos +rocm: enable belos to fix build failure (#37617)eugeneswalker1-1/+1
2023-05-11Allow using -j to control the parallelism of concretization (#37608)Massimiliano Culpo1-1/+1
fixes #29464 This PR allows to use ``` $ spack concretize -j X ``` to set a cap on the parallelism of concretization from the command line
2023-05-10ci: remove --mirror-url flag (#37457)Harmen Stoppels1-1/+1
The flags --mirror-name / --mirror-url / --directory were deprecated in favor of just passing a positional name, url or directory, and letting spack figure it out. --------- Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2023-05-10New option "--first" for "spack location" (#36283)G-Ragghianti1-2/+2
2023-05-08use latest trilinos for +cuda variants (#37164)eugeneswalker2-4/+4
2023-05-07gitlab ci: bump tutorial image (#37544)Harmen Stoppels2-3/+3
2023-05-05Add spack buildcache push (alias to buildcache create) (#34861)Harmen Stoppels1-2/+20
`spack buildcache create` is a misnomer cause it's the only way to push to an existing buildcache (and it in fact calls binary_distribution.push). Also we have `spack buildcache update-index` but for create the flag is `--rebuild-index`, which is confusing (and also... why "rebuild" something if the command is "create" in the first place, that implies it wasn't there to begin with). So, after this PR, you can use either ``` spack buildcache create --rebuild-index ``` or ``` spack buildcache push --update-index ``` Also, alias `spack buildcache rebuild-index` to `spack buildcache update-index`.
2023-05-05Update tutorial pipeline to Ubuntu 22.04 (#35451)Harmen Stoppels2-9/+11
2023-05-05ci: stop downloading recent gmake (#37458)Harmen Stoppels3-13/+0
2023-05-04Allow choosing the name of the packages subdirectory in repositories (#36643)Greg Becker1-1/+1
Co-authored-by: becker33 <becker33@users.noreply.github.com>
2023-04-28Add container images supporting RHEL alternatives (#36713)Jonathon Anderson6-0/+176
Add container support for AlmaLinux, Fedora 37 and 38 and Rocky Linux
2023-04-24e4s ci: add xyce (#36841)eugeneswalker2-8/+20
* e4s ci: add xyce * relax trilinos contraints for xyce * also relax trilinos constraint for e4s-power stack * allow trilinos~shylu for xyce
2023-04-24e4s ci: add mgard (#36584)eugeneswalker2-0/+4
2023-04-24MXNet: add v1.9 (#36590)Adam J. Stewart3-0/+9
2023-04-21Hraden Spack's powershell interface (#37079)John W. Parent2-3/+2
Paths with spaces are an issue on Windows and our current powershell scripts are not sufficiently hardended against their use. This PR removes promlematic commandlets that do not work well with paths with spaces and adds escape quotes in other areas where this could be an issue.
2023-04-20ML CI: fix mirror name (#37007)Adam J. Stewart2-2/+2
2023-04-18DaV SDK: Enable ParaView raytracing with in SDK (#36844)kwryankrattiger1-1/+7
* DaV SDK: Enable ParaView raytracing with in SDK * CI: Drop swr testing from Data Vis SDK * ISPC: extend LLVM requirement to main * DaV SDK: Disallow concretizing develop unifyfs No longer needed after mochi-margo patch
2023-04-17CI: update Linux images in ML pipelines (#36766)Adam J. Stewart4-12/+18
Add missing openssl/curl/pkgconfig deps to py-tokenizers Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-04-14gitlab ci: Better tagging of "service" jobs (#36846)Scott Wittenburg1-0/+21
- Tag non-rebuild jobs to target a cheaper (and more highly available) subset of runners. - Add missing resource requests to these jobs as well.
2023-04-13remove x86_64_v3 tags (#36828)eugeneswalker1-4/+4
2023-04-13containerize: strip binaries in a less aggressive way (#36683)Massimiliano Culpo2-2/+2
2023-04-13CI: Update Data Vis SDK image (#36761)kwryankrattiger2-3/+3
Supersedes #34224
2023-04-10ci: gpu-tests stack: swap x86_64-{cuda,rocm} for x86_64 (#36759)eugeneswalker1-2/+6
2023-04-10Ci backwards compat (#36045)kwryankrattiger2-0/+167
* CI: Fixup docs for bootstrap. * CI: Add compatibility shim * Add an update method for CI Update requires manually renaming section to `ci`. After this patch, updating and using the deprecated `gitlab-ci` section should be possible. * Fix typos in generate warnings * Fixup CI schema validation * Add unit tests for legacy CI * Add deprecated CI stack for continuous testing * Allow updating gitlab-ci section directly with env update * Make warning give good advice for updating gitlab-ci * Fix typo in CI name * Remove white space * Remove unneeded component of deprected-ci
2023-04-06Ecp hdf5 vol (#35195)kwryankrattiger1-0/+1
* ECP-SDK: enable hdf5 VOL adapters - When +hdf5, enable VOL adapters suitable for the SDK. - Each VOL package must prepend to the HDF5_PLUGIN_PATH. - hdf5: 1.13.3 will break existing VOL packages, constrain VOLs related to SDK and add note to keep 1.13.2 available. - hdf5-vol-async: - Do not set HDF5_VOL_CONNECTOR, consumers must opt-in. - Enforce DAG constraints on MPI to require threaded version. - Depend on an explicit version of argbots to relax concretization issues in other spack environments. - paraview: fix compiler flag usage for the 110 ABI (followup to #33617). * ECP Data and ViS: Add constraits for HDF5 VOLS * CI: HDF5 1.14 builds without VisIt * hdf5-vol-async: Update docs string --------- Co-authored-by: Stephen McDowell <stephen.mcdowell@kitware.com>
2023-04-03Improve Dockerfile recipe generation (#35187)Massimiliano Culpo2-4/+21
- Update default image to Ubuntu 22.04 (previously was still Ubuntu 18.04) - Optionally use depfiles to install the environment within the container - Allow extending Dockerfile Jinja2 template - Allow extending Singularity definition file Jinja2 template - Deprecate previous options to add extra instructions
2023-03-31gitlab ci: request more memory for publish job (#36560)Scott Wittenburg1-0/+2
2023-03-29ci: require x86_64_v3 everywhere (#36158)Harmen Stoppels13-241/+211