summaryrefslogtreecommitdiff
path: root/share
AgeCommit message (Collapse)AuthorFilesLines
2023-09-30e4s ci: add packages: drishti, dxt-explorer (#39597)eugeneswalker3-0/+6
* e4s ci: add packages: drishti, dxt-explorer * e4s oneapi ci: comment out dxt-explorer until r%oneapi issue #40257 is resolved
2023-09-29Test package detection in a systematic way (#18175)Massimiliano Culpo2-1/+19
This PR adds a new audit sub-command to check that detection of relevant packages is performed correctly in a few scenarios mocking real use-cases. The data for each package being tested is in a YAML file called detection_test.yaml alongside the corresponding package.py file. This is to allow encoding detection tests for compilers and other widely used tools, in preparation for compilers as dependencies.
2023-09-29Revert "e4s cray sles: suspend ci until machine issues resolved (#40219)" ↵eugeneswalker1-12/+12
(#40238) This reverts commit 5165524ca6eb9cb0b8c2e225352e4729b5a04062.
2023-09-27e4s cray sles: suspend ci until machine issues resolved (#40219)eugeneswalker1-12/+12
2023-09-24trilinos +shylu: patch to resolve trilinos issue #12048 (#40169)eugeneswalker1-1/+1
* trilinos +shylu: patch to resolve trilinos issue #12048 * e4s ci: build xyce ^trilinos+shylu --------- Co-authored-by: Seth R. Johnson <johnsonsr@ornl.gov>
2023-09-22e4s cray rhel stack: expand to full spec list (#40111)eugeneswalker1-13/+122
* e4s cray rhel stack: expand to full spec list * comment out gasnet; require %gcc for unzip * require openblas@0.3.20 to get around %cce error; follow up with issue report * comment out failing specs; * comment out axom and xyce due to errors * improve clarity of failing specs
2023-09-21Revert "e4s-cray: drop in ci as there are no runners (#40122)" (#40144)eugeneswalker1-12/+12
This reverts commit bd8d0324a9a06c7acd81485b265ec2a48b579cec.
2023-09-21e4s: drop python 3.8 preference (#40123)Harmen Stoppels2-4/+0
2023-09-21e4s-cray: drop in ci as there are no runners (#40122)Harmen Stoppels1-12/+12
2023-09-19ci: dont use nightly image tag (#40070)Harmen Stoppels4-6/+6
2023-09-19Use process pool executors for web-crawling and retrieving archives (#39888)Massimiliano Culpo2-6/+8
Fix a race condition when searching urls, and updating a shared set '_visited'.
2023-09-19ci: drop redundant packages.yaml (#40068)Harmen Stoppels1-14/+0
2023-09-18Revert "gitlab ci: temporarily disable darwin aarch64 (#39974)" (#40052)eugeneswalker1-18/+17
This reverts commit 2c13361b09c552427623f9e8a728fad94e3de4e9.
2023-09-15gitlab ci: submit the correct audience for protected publish jobs (#40046)Scott Wittenburg1-1/+1
2023-09-14gitlab ci: Put Cray binaries in public mirrors (#39938)Scott Wittenburg3-34/+7
2023-09-14Add OIDC tokens to gitlab-ci jobs (#39813)Dan LaManna2-0/+23
* Add OIDC tokens to gitlab-ci jobs This should allow us to start issuing just-in-time generated credentials for CI jobs that need to modify binary mirrors. The "aud" claim of the token describes what the token is allowed to do. The claim is verified against a set of rules on the IAM role using signed information from GitLab. See spack-infrastructure for the claim verification logic. --------- Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2023-09-14Add efficient `deptype` flag and `spack.deptypes` module (#39472)Harmen Stoppels1-2/+2
This commit replaces the internal representation of deptypes with `int`, which is more compact and faster to operate with. Double loops like: ``` any(x in ys for x in xs) ``` are replaced by constant operations bool(xs & ys), where xs and ys are dependency types. Global constants are exposed for convenience in `spack.deptypes`
2023-09-14data-vis-sdk: make llvm~libomptarget the default (#40007)Massimiliano Culpo1-1/+1
Currently the configuration of the pipeline is such that there are multiple "optimal" solutions. This is due to the pipeline making ~lld the default for LLVM, but leaving +libomptarget from package.py Since LLVM recipe has a: conflicts("~lld", "+libomptarget") clingo is forced to change one of the two defaults, and the penalty for doing so is the same for each. Hence, it is random whether we'll get +libomptarget+lld or ~libomptarget~lld. This fixes it by changing also the default for libomptarget.
2023-09-13gitlab ci: temporarily disable darwin aarch64 (#39974)Harmen Stoppels1-17/+18
as there are no or few runners available
2023-09-12ci: Tag reindex job to match the image architecture (#39958)Scott Wittenburg1-1/+1
2023-09-12CI/Add superlu-dist to broken stand-alone tests due to hang (#38908)Tamara Dahlgren1-0/+1
* Add superlu-dist to broken stand-alone CI tests * Revert "disable superlu test (#38894)" This reverts commit e16397b5d865d402c749482d05bb2bdc09b96661.
2023-09-11gitlab ci: Use image with awscli for rebuild-index job (#39636)Scott Wittenburg5-9/+10
Instead of pointing to the image on DockerHub, which rate limits us and causes pipeline failures durying busy times, use the version at ghcr. And we might as well use the ghcr version everywhere else too.
2023-09-08bugfix: only complete aliases for potential aliases (#39887)Todd Gamblin3-4/+11
Smart alias completion introduced in #39499 wasn't as smart as it needed to be, and would complete any invalid command prefix and some env names with alias names. - [x] don't complete aliases if there are no potential completions e.g., don't convert `spack isnotacommand` -> `spack concretize` - [x] don't complete with an aliases if we're not looking at a top-level subcommand.
2023-09-08Speed-up `spack external find` execution (#39843)Massimiliano Culpo2-2/+4
* Perform external spec detection with multiple workers The logic to perform external spec detection has been refactored into classes. These classes use the GoF "template" pattern to account for the small differences between searching for "executables" and for "libraries", while unifying the larger part of the algorithm. A ProcessPoolExecutor is used to parallelize the work. * Speed-up external find by tagging detectable packages automatically Querying packages by tag is much faster than inspecting the repository, since tags are cached. This commit adds a "detectable" tag to every package that implements the detection protocol, and external detection uses it to search for packages. * Pass package names instead of package classes to workers The slowest part of the search is importing the Python modules associated with candidate packages. The import is done serially before we distribute the work to the pool of executors. This commit pushes the import of the Python module to the job performed by the workers, and passes just the name of the packages to the executors. In this way imports can be done in parallel. * Rework unit-tests for Windows Some unit tests were doing a full e2e run of a command just to check a input handling. Make the test more focused by just stressing a specific function. Mark as xfailed 2 tests on Windows, that will be fixed by a PR in the queue. The tests are failing because we monkeypatch internals in the parent process, but the monkeypatching is not done in the "spawned" child process.
2023-09-07CI Timing Statistics (#38598)kwryankrattiger2-1/+43
* Write timing information for installs from cache * CI: aggregate and upload install_times.json to artifacts * CI: Don't change root directory for artifact generation * Flat event based timer variation Event based timer allows for easily starting and stopping timers without wiping sub-timer data. It also requires less branching logic when tracking time. The json output is non-hierarchical in this version and hierarchy is less rigidly enforced between starting and stopping. * Add and write timers for top level install * Update completion * remove unused subtimer api * Fix unit tests * Suppress timing summary option * Save timers summaries to user_data artifacts * Remove completion from fish * Move spack python to script section * Write timer correctly for non-cache installs * Re-add hash to timer file * Fish completion updates * Fix null timer yield value * fix type hints * Remove timer-summary-file option * Add "." in front of non-package timer name --------- Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com> Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-09-06gitlab: set cache and config dir in top-level file (#39829)Harmen Stoppels1-2/+4
2023-09-05Set backtrace in ci (#39737)Harmen Stoppels1-0/+1
2023-09-01Windows: fix pwsh env activate/deactivate; load/unload (#39118)John W. Parent2-6/+12
These commands are currently broken on powershell (Windows) due to improper use of the InvokeCommand commandlet and a lack of direct support for the `--pwsh` argument in `spack load`, `spack unload`, and `spack env deactivate`.
2023-08-31ASP-based solver: add hidden mode to ignore versions that are moving ↵Harmen Stoppels1-0/+2
targets, use that in CI (#39611) Setting the undocumented variable SPACK_CONCRETIZER_REQUIRE_CHECKSUM now causes the solver to avoid accounting for versions that are not checksummed. This feature is used in CI to avoid spurious concretization against e.g. develop branches.
2023-08-30completion: make bash completion work in zshTodd Gamblin2-4/+32
`compgen -W` does not behave the same way in zsh as it does in bash; it seems not to actually generate the completions we want. - [x] add a zsh equivalent and `_compgen_w` to abstract it away - [x] use `_compgen_w` instead of `compgen -W`
2023-08-30completion: add alias handlingTodd Gamblin3-0/+100
Bash completion is now smarter about handling aliases. In particular, if all completions for some input command are aliased to the same thing, we'll just complete with that thing. If you've already *typed* the full alias for a command, we'll complete the alias. So, for example, here there's more than one real command involved, so all aliases are shown: ```console $ spack con concretise concretize config containerise containerize ``` Here, there are two possibilities: `concretise` and `concretize`, but both map to `concretize` so we just complete that: ```console $ spack conc concretize ``` And here, the user has already typed `concretis`, so we just go with it as there is only one option: ```console spack concretis concretise ```
2023-08-30Add `concretise` and `containerise` aliases for our UK usersTodd Gamblin2-1/+39
From a user: > Aargh. > ``` > ==> Error: concretise is not a recognized Spack command or extension command; check with `spack commands`. > ``` To make things easier for our friends in the UK, this adds `concretise` and `containerise` aliases for the `spack concretize` and `spack containerize` commands. - [x] add aliases - [x] update completions
2023-08-29Revert "Add style tool to fix fish file formatting (#39155)" (#39680)Harmen Stoppels2-397/+397
This reverts commit 70c71e8f935b3c5152036a993295df13c5fe69ca.
2023-08-28Add style tool to fix fish file formatting (#39155)Adam J. Stewart2-397/+397
2023-08-28Patch VTK to enable python 3.8 in VTK 8.2 (#38735)kwryankrattiger2-50/+50
* VTK: Add patch for python 3.8 support * CI: Re-enable VisIt in CI * Configure spec matrix for stack with VisIt * Add pugixml dep for 8.2.0 * Make VTK and ParaView consistent on proj dep * OpenMPI 3: provides MP support by default * Add details on proj dep in ParaView * Add python 3.8 to test mock repo * Patches to get VisIt VTK interface * CI: Disable VisIt with GUI in DAV
2023-08-28Remove mxnet from darwin aarch64 since theres no supported release (#39644)Harmen Stoppels1-2/+2
2023-08-23Add --fail-fast option for generating build caches (#38496)Dom Heinzeller2-4/+8
Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-08-16amrex+sycl: restructure constraint on %oneapi (#39451)eugeneswalker1-1/+1
2023-08-15Change semantic for providersMassimiliano Culpo1-1/+1
If a possible provider is not used to satisfy a vdep, then it's not a provider of that vdep.
2023-08-15ecp-data-viz-sdk: fix building with new encodingMassimiliano Culpo1-3/+4
2023-08-15We cannot require "mpich" as an mpi provider and ask for openmpiMassimiliano Culpo1-2/+2
2023-08-14Fix containerize view symlink issue (#39419)Harmen Stoppels2-6/+11
2023-08-11e4s cray sles ci: expand spec list (#39081)eugeneswalker1-0/+12
* e4s cray sles ci: expand spec list * flux-core: disable until python+gary-sles issue is resolved
2023-08-11kokkos: rename 'std' variant to 'cxxstd'. (#39319)Cristian Di Pietrantonio1-4/+4
Co-authored-by: Cristian Di Pietrantonio <cdipietrantonio@pawsey.org.au>
2023-08-11Revert "package import: remove magic import line (#39183)" (#39380)Todd Gamblin1-2/+0
This reverts commit 8e7c53a8ba32e0793e36e66b5fdac8f4f61e644d.
2023-08-09AMReX: 23.06+ Multi-Dim Support (#37695)Axel Huebl2-3/+4
* AMReX: 23.06+ Multi-Dim Support This updated the Spack package to allow to install AMReX, modules of AMReX in E4S deployments and dependent packages with support for multiple dimensions. Due to an upstream change in AMReX, we do not longer need to ship three, binary incompatible package variants. * [E4S] oneAPI AMReX < 23.06 Variant Work-around the auto-concretization to the multi-dim of `dimensions`, which only in 23.06+ became a multi-variant. * e4s cray rhel ci: temporarily disable amrex build until spurious ci failure can be resolved --------- Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2023-08-09package import: remove magic import line (#39183)Harmen Stoppels1-0/+2
2023-08-09Fix suffix of tab completion scripts (#39154)Adam J. Stewart4-4/+4
2023-08-09containerize: ensure bootstrap images contain all system dependencies (#36818)Jonathon Anderson6-1/+17
This also makes `spack bootstrap status` exit 1 if some dependency is missing
2023-08-08e4s ci: add libpressio (#34222)eugeneswalker1-0/+5
* e4s ci: add libpressio * libpressio ~cuda, +cuda: add +mgard