summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-11-17Support parallel environment builds (#18131)Tamara Dahlgren17-556/+1222
As of #13100, Spack installs the dependencies of a _single_ spec in parallel. Environments, when installed, can only get parallelism from each individual spec, as they're installed in order. This PR makes entire environments build in parallel by extending Spack's package installer to accept multiple root specs. The install command and Environment class have been updated to use the new parallel install method. The specs and kwargs for each *uninstalled* package (when not force-replacing installations) of an environment are collected, passed to the `PackageInstaller`, and processed using a single build queue. This introduces a `BuildRequest` class to track install arguments, and it significantly cleans up the code used to track package ids during installation. Package ids in the build queue are now just DAG hashes as you would expect, Other tasks: - [x] Finish updating the unit tests based on `PackageInstaller`'s use of `BuildRequest` and the associated changes - [x] Change `environment.py`'s `install_all` to use the `PackageInstaller` directly - [x] Change the `install` command to leverage the new installation process for multiple specs - [x] Change install output messages for external packages, e.g.: `[+] /usr` -> `[+] /usr (external bzip2-1.0.8-<dag-hash>` - [x] Fix incomplete environment install's view setup/update and not confirming all packages are installed (?) - [x] Ensure externally installed package dependencies are properly accounted for in remaining build tasks - [x] Add tests for coverage (if insufficient and can identity the appropriate, uncovered non-comment lines) - [x] Add documentation - [x] Resolve multi-compiler environment install issues - [x] Fix issue with environment installation reporting (restore CDash/JUnit reports)
2020-11-16spack edit: accept readonly packages (#19949)Wouter Deconinck1-1/+1
2020-11-16pipelines: support testing PRs from forks (#19248)Scott Wittenburg7-126/+261
This change makes improvements to the `spack ci rebuild` command which supports running gitlab pipelines on PRs from forks. Much of this has to do with making sure we can run without the secrets previously required for running gitlab pipelines (e.g signing key, aws credentials, etc). Specific improvements in this PR: Check if spack has precisely one signing key, and use that information as an additional constraint on whether or not we should attempt to sign the binary package we create. Also, if spack does not have at least one public key, add the install option "--no-check-signature" If we are running a pipeline without any profile or environment variables allowing us to push to S3, the pipeline could still successfully create a buildcache in the artifacts and move on. So just print a message and move on if pushing either the buildcache entry or cdash id file to the remote mirror fails. When we attempt to generate a pacakge or gpg key index on an S3 mirror, and there is nothing to index, just print a warning and exit gracefully rather than throw an exception. Support the use of PR-specific mirrors for temporary binary pkg storage. This will allow quality-of-life improvement for developers, providing a place to store binaries over the lifetime of a PR, so that they must only wait for packages to rebuild from source when they push a new commit that causes it to be necessary. Replace two-pass install with a single pass and the new option: --require-full-hash-match. Doing this also removes the need to save a copy of the spack.yaml to be copied over the one spack rewrites in between the two spack install passes. Work around a mirror configuration issue caused by using spack.util.executable to do the package installation. * Update pipeline trigger jobs for PRs from forks Moving to PRs from forks relies on external synchronization script pushing special branch names. Also secrets will only live on the spack mirror project, and must be propagated to the E4S project via variables on the trigger jobs. When this change is merged, pipelines will not run until we update the "Custom CI configuration path" in the Gitlab CI Settings, as the name of the file has changed to better reflect its purpose. * Arg to MirrorCollection is used exclusively, so add main remote mirror to it * Compute full hash less frequently * Add tests covering index generation error handling code
2020-11-16[xerces-c] add netaccessor variant, new version (#19927)vvolkl2-2/+17
* [xerces-c] add netaccessor variant, new version * [geant4] add xerces-c netaccessor requirement * [xerces-c] format
2020-11-16[pythia6] needs CFLAGS/FFLAGS=-fcommon when %gcc@10: (#19947)Wouter Deconinck1-0/+5
2020-11-16node-js add gcc 4.8 conflict (#19945)Jordan Ogas1-0/+5
* add gcc 4.8 conflict * commit suggestion Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-16llvm: add variant: llvm_dylib (LLVM_BUILD_LLVM_DYLIB:Bool) (#19701)eugeneswalker1-0/+9
2020-11-16WRF: Add version 3.9.1.1 and improve recipe robustness (#19882)Phil Tooley8-101/+1561
* Add WRF 3.9.1.1 and improve recipe robustness * Include version 3.9.1.1 as common benchmarking workload * Fix compilation against recent glibc (detect spack installed libtirpc) * Detect and handle failed compilation (upstream use make -i) * WRF: PR changes round 1 fix build jobs fix maintainers fix pkgconfig dependency use Executable to run compile stage repair some overzealous autoformatting by black * WRF: make recipe py26 compatible * wrf: recipe review changes round 2 * more python 26 fixes
2020-11-16vgm: Switch all URLs to https (#19943)Dr. Christian Tacke1-3/+3
2020-11-16[acts] Add versions 1.2.1 and 2.0.0 (#19936)Hadrien G1-0/+2
2020-11-16texlive: Fix install of @live version (#19941)Ruben Di Battista1-1/+10
The unattended install using the pre-compiled binaries (tl-install) needs a .profile file or it goes in interactive mode blocking the install process forever
2020-11-16Trilinos: update 13.0.1 (#19944)Satish Balay1-1/+1
2020-11-16add new version py-wavelets@1.1.1 (#19930)Andreas Baumbach1-0/+3
* add new version py-wavelets@1.1.1 * also update dependencies * Update package.py
2020-11-16graphmap: Fix for aarch64 (#19935)t-nojiri1-0/+2
2020-11-16Added new versions for the py-attrs package (#19938)Matthieu Dorier1-1/+4
2020-11-16[dd4hep] switch to ninja generator to avoid running out of memory … (#19940)vvolkl1-0/+3
* [dd4hep] switch to ninja generator to avoid running out of memory while compiling ddparsers * [dd4hep] format
2020-11-16vmc: Add Version 1-0-p3 (#19942)Dr. Christian Tacke1-1/+2
2020-11-16add new version py-tifffile@2020.10.1 (#19929)Andreas Baumbach1-0/+3
* add new version py-tifffile@2020.10.1 * also update dependencies * Update package.py
2020-11-16py-numpy: Add Fujitsu Fortran compiler to compiler type. (#19858)Tomoki, Karatsu6-0/+224
* py-numpy: Add Fujitsu Fortran compiler to compiler type. py-scipy: Specify Fujitsu to fcompiler types. * Create patches applicable to each version.
2020-11-16singularity: added v3.6.4 (#19939)Dr. Christian Tacke1-1/+2
2020-11-15macOS: Big Sur reports as either 10.16 or 11.0 (#19900)Adam J. Stewart1-0/+1
2020-11-15fix a typo in podio package script (#19928)Joseph Wang1-1/+1
2020-11-14environment-modules: add version 4.6.1 (#19926)Xavier Delaruelle1-1/+2
2020-11-14Bugfixes for lbann sw stack (#19903)Brian Van Essen4-30/+80
* Added guard for setting CUB_DIR to only when cuda variant is true * Added support for OpenMP on OSX platforms * Updated the way that LBANN, Hydrogen, and DiHydrogen handle apple-clang with OpenMP and Clang installed on OS X via brew. * Fixed bug in spec resolution * Fixed merge conflict * Fixed typo * Fixed flake8
2020-11-14Add new package: druid (#19911)darmac1-0/+26
2020-11-14bpp-phyl-omics package (#19734)ilbiondo1-0/+25
2020-11-14PAPI package: added cuda and nvml support (#19896)G-Ragghianti1-2/+10
* Added cuda support * Added cuda and nvml variants * Refined version conflict logic.
2020-11-14bpp-seq-omics package (#19733)ilbiondo1-0/+22
2020-11-14Don't use prefix.lib in tcl/tk/glib/etc (#19761)Adam J. Stewart13-84/+79
2020-11-14nbdkit: new package at v1.23.7 (#19922)darmac1-0/+26
2020-11-14ncompress: new package at v4.2.4.6 (#19923)darmac1-0/+19
2020-11-14openblas: fix to build v0.3.11 or later with Fujitsu compiler. (#19853)Tomoki, Karatsu2-2/+17
2020-11-14libjson: new package at v0.8 (#19921)darmac1-0/+24
2020-11-14iproute2: new package at v5.9.0 (#19920)darmac1-0/+25
2020-11-14httping: new package at v2.5 (#19919)darmac1-0/+27
2020-11-14hashcat: new package at v6.1.1 (#19918)darmac1-0/+26
2020-11-14argon2: new package at v20190702 (#19917)darmac1-0/+23
2020-11-14newt: new package at v0.52.21 (#19915)darmac1-0/+20
2020-11-14mathematica : added v12.1.1 (#19842)Antonio Arena1-2/+7
2020-11-14nwchem: remove patches for v6.6 (no longer supported) (#19906)Edoardo Aprà1-31/+0
Since spack no longer offers NWChem 6.6, there is no need of the patch lines.
2020-11-14ipcalc: new package at v0.2.3 (#19912)darmac1-0/+29
2020-11-13[gcc] depends_on diffutils (for all versions) (#19907)Wouter Deconinck1-0/+1
2020-11-13Updated STAR to version 2.7.6a (#19904)Alexander Baumgarten1-1/+2
2020-11-13Feature/r tximportdata (#19902)Alexander Baumgarten1-0/+16
* # FIXME: Add a list of GitHub accounts to # FIXME: Add a list of GitHub accounts to Package for r-tximportData * Fixed file format / flake8 errors
2020-11-13binutils: Fix checksum for 2.35.1 (#19901)fodinabor1-1/+1
As noted in #19899 and introduced by #19827
2020-11-13Add sio and add it as possible dependency for podio (#19875)Thomas Madlener2-1/+65
Newest podio can use SIO as backend
2020-11-13AMD ROCm - HIP update and bump up version to 3.9.0 for rccl,debug agent, ↵arjun-raj-kuppala4-9/+21
hip-rocclr and atmi (#19832) * AMD - Bumped up version for hip-rocclr, rocm-opencl, rocm-smi-lib * AMD ROCm - HIP update and bump up version to 3.9.0 for rccl,debug agent, hip-rocclr and atmi * Update package.py * Update package.py * Update package.py * Update var/spack/repos/builtin/packages/hip/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-13suite-sparse: mpfr, gmp needed for @5.8.0: (#19898)eugeneswalker1-2/+2
2020-11-13bump up version for 3.9.0 (#19894)Sreenivasa Murthy Kolam1-1/+2
2020-11-13openfoam: Fix for aarch64 (#19803)t-nojiri1-1/+2
* openfoam: Fix for aarch64 * openfoam: Add comment for openfoam-org