summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-08-13Buildcache: bindist test without invoking spack compiler wrappers. (#15687)Patrick Gartung8-9/+911
* Buildcache: * Try mocking an install of quux, corge and garply using prebuilt binaries * Put patchelf install after ccache restore * Add script to install patchelf from source so it can be used on Ubuntu:Trusty which does not have a patchelf pat package. The script will skip building on macOS * Remove mirror at end of bindist test * Add patchelf to Ubuntu build env * Revert mock patchelf package to allow other tests to run. * Remove depends_on('patchelf', type='build') relying instead on * Test fixture to ensure patchelf is available. * Call g++ command to build libraries directly during test build * Flake8 * Install patchelf in before_install stage using apt unless on Trusty where a build is done. * Add some symbolic links between packages * Flake8 * Flake8: * Update mock packages to write their own source files * Create the stage because spec search does not create it any longer * updates after change of list command arguments * cleanup after merge * flake8
2020-08-13Use "fetch-depth: 0" to retrieve all history from remoteMassimiliano Culpo4-10/+19
2020-08-13Simplified YAML files for Github Actions workflowsMassimiliano Culpo4-18/+7
Updated actions where needed
2020-08-13Group tests with similar duration togetherMassimiliano Culpo4-76/+72
Style and documentation tests take just a few minutes to run. Since in Github actions one can't restart a single job but needs to restart an entire workflow, here we group tests with similar duration together.
2020-08-13docs: document releases and branches in SpackTodd Gamblin6-11/+405
- [x] Remove references to `master` branch - [x] Document how release branches are structured - [x] Document how to make a major release - [x] Document how to make a point release - [x] Document how to do work in our release projects
2020-08-13Remove references to `master` from CITodd Gamblin5-9/+5
- [x] remove master from github actions - [x] remove master from .travis.yml - [x] make `develop` the default branch for `spack ci`
2020-08-13Moved flake8, shell and documentation tests to Github Action (#17328)Massimiliano Culpo6-125/+100
* Move flake8 tests on Github Actions * Move shell test to Github Actions * Moved documentation build to Github Action * Don't run coverage on Python 2.6 Since we get connection errors consistently on Travis when trying to upload coverage results for Python 2.6, avoid computing coverage entirely to speed-up tests.
2020-08-12Bugfix for #17999: use cudart instead of cuda. (#18000)Robert Blake1-1/+1
This is needed because libcuda is used by the driver, whereas libcudart is used by the runtime. CMake searches for cudart instead of cuda. On LLNL LC systems, libcuda is only found in compat and stubs directories, meaning that the lookup of libraries fails.
2020-08-12bugfix: fix spack -V with releases/latest and shallow clones (#17884)Todd Gamblin1-2/+2
`spack -V` stopped working when we added the `releases/latest` tag to track the most recent release. It started just reporting the version, even on a `develop` checkout. We need to tell it to *only* search for tags that start with `v`, so that it will ignore `releases/latest`. `spack -V` also would print out unwanted git eror output on a shallow clone. - [x] add `--match 'v*'` to `git describe` arguments - [x] route error output to `os.devnull`
2020-08-12Buildcache create: change NoOverwriteException back to a warning as in v0.14 ↵Patrick Gartung1-3/+6
(#17832) * Change buildcache create `NoOverwriteException` back to a warning.
2020-08-12Hotfix: move CUDAHOSTCXX (#17826)Axel Huebl1-2/+3
* Hotfix: move CUDAHOSTCXX Set only in dependent packages. * dependent compiler
2020-08-12bugfix: fix spack buildcache list --allarchTodd Gamblin3-17/+53
`spack buildcache list` was trying to construct an `Arch` object and compare it to `arch_for_spec(<spec>)`. for each spec in the buildcache. `Arch` objects are only intended to be constructed for the machine they describe. The `ArchSpec` object (part of the `Spec`) is the descriptor that lets us talk about architectures anywhere. - [x] Modify `spack buildcache list` and `spack buildcache install` to filter with `Spec` matching instead of using `Arch`.
2020-08-12architecture: make it easier to get a Spec for the default archTodd Gamblin1-2/+15
- [x] Make it easier to get a `Spec` with a proper `ArchSpec` from an `Arch` object via new `Arch.to_spec()` method. - [x] Pull `spack.architecture.default_arch()` out of `spack.architecture.sys_type()` so we can get an `Arch` instead of a string.
2020-08-12allow GNUPGHOME to come from SPACK_GNUPGHOME in env, if set (#17139)eugeneswalker1-1/+1
2020-07-28update CHANGELOG.md for 0.15.3v0.15.3Todd Gamblin1-0/+12
2020-07-28bump version number for 0.15.3Todd Gamblin3-5/+10
2020-07-27bugfix: allow relative view paths (#17721)Greg Becker1-14/+28
Relative paths in views have been broken since #17608 or earlier. - [x] Fix by passing base path of the environment into the `ViewDescriptor`. Relative paths are calculated from this path.
2020-07-27tutorial: Add boto3 installation to setup scriptTodd Gamblin1-0/+6
2020-07-27Relocation of sbang needs to be done when the spack prefix changes even if ↵Patrick Gartung2-4/+17
the install tree has not changed. (#17455)
2020-07-27Relocate rpaths for all binaries, then do text bin replacement if the rpaths ↵Patrick Gartung1-7/+10
still exist after running patchelf/otool (#17418)
2020-07-27add tutorial setup script to share/spack (#17705)Greg Becker1-0/+123
* add tutorial setup script to share/spack * Add check for Ubuntu 18, fix xvda check, fix apt-get errors - now works on t2.micro, t2.small, and m instances - apt-get needs retries around it to work Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-07-26bugfix: don't redundantly print ChildErrors (#17709)Todd Gamblin2-5/+12
A bug was introduced in #13100 where ChildErrors would be redundantly printed when raised during a build. We should eventually revisit error handling in builds and figure out what the right separation of responsibilities is for distributed builds, but for now just skip printing. - [x] SpackErrors were designed to be printed by the forked process, not by the parent, so check if they've already been printed. - [x] update tests
2020-07-23update changelog for 0.15.2v0.15.2Gregory Becker1-0/+19
2020-07-23bump version number for 0.15.2Gregory Becker3-6/+10
2020-07-23add tutorial public key to share/spack/keys dir (#17684)Greg Becker1-0/+38
2020-07-23cray: detect shasta os properly (#17467)Greg Becker2-1/+4
Fixes #17299 Cray Shasta systems appear to use an unmodified Sles or other Linux operating system on the backend (like Cray "Cluster" systems and unlike Cray "XC40" systems that use CNL). This updates the CNL version detection to properly note that this is the underlying OS instead of CNL and delegate to LinuxDistro.
2020-07-23environment-views: fix bug where missing recipe/repo breaks env commands ↵robo-wylder5-19/+104
(#17608) * environment-views: fix bug where missing recipe/repo breaks env commands When a recipe or a repo has been removed from Spack and an environment is active, it causes the view activation to crash Spack before any commands can be executed. Further, the error message it not at all clear in explaining the issue. This forces view regeneration to always start from scratch to avoid the missing package recipes, and defaults add_view=False in main for views activated by the `spack -e` option. * add messages to env status and deactivate Warn users that a view may be corrupt when deactivating an environment or checking its status while active. Updated message for activate. * tests for view checking Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-07-23Update fetch order to match iteration order of MirrorReference (#17572)Peter Scheibel1-3/+5
2020-07-23Reduce output verbosity with debug levels (#17546)Tamara Dahlgren15-165/+342
* switch from bool to int debug levels * Added debug options and changed lock logging to use more detailed values * Limit installer and timestamp PIDs to standard debug output * Reduced verbosity of fetch/stage/install output, changing most to debug level 1 * Combine lock log methods; change build process install to debug * Changed binary cache install messages to extraction messages
2020-07-23bugfix: use getattr for variation.prefix/suffix (#17669)eugeneswalker1-2/+2
2020-07-23bugfix: make compiler preferences slightly saner (#17590)Todd Gamblin5-19/+191
* bugfix: make compiler preferences slightly saner This fixes two issues with the way we currently select compilers. If multiple compilers have the same "id" (os/arch/compiler/version), we currently prefer them by picking this one with the most supported languages. This can have some surprising effects: * If you have no `gfortran` but you have `gfortran-8`, you can detect `clang` that has no configured C compiler -- just `f77` and `f90`. This happens frequently on macOS with homebrew. The bug is due to some kludginess about the way we detect mixed `clang`/`gfortran`. * We can prefer suffixed versions of compilers to non-suffixed versions, which means we may select `clang-gpu` over `clang` at LLNL. But, `clang-gpu` is not actually clang, and it can break builds. We should prefer `clang` if it's available. - [x] prefer compilers that have C compilers and prefer no name variation to variation. * tests: add test for which()
2020-07-23ci pipelines: activate environment without view (#17440)Harmen Stoppels1-1/+1
2020-07-23bugfix: ignore Apple's "gcc" by default (#17589)Todd Gamblin3-29/+51
Apple's gcc is really clang. We previously ignored it by default but there was a regression in #17110. Originally we checked for all clang versions with this, but I know of none other than `gcc` on macos that actually do this, so limiting to `apple-clang` should be ok. - [x] Fix check for `apple-clang` in `gcc.py` to use version detection from `spack.compilers.apple_clang`
2020-07-23buildcache: list all mirrors even if one failsScott Wittenburg1-2/+2
2020-07-23Bugfix/install missing compiler from buildcache (#17536)Scott Wittenburg2-0/+40
Ensure compilers installed from buildcache are registered.
2020-07-23adept-utils: 1.0.1 does not build w/ boost 1.73.0 or newer (#17560)Scott Wittenburg1-1/+1
2020-07-23Fix security issue in CI (#17545)Harmen Stoppels2-9/+1
The `spack-build-env.txt` file may contains many secrets, but the obvious one is the private signing key in `SPACK_SIGNING_KEY`. This file is nonetheless uploaded as a build artifact to gitlab. For anyone running CI on a public version of Gitlab this is a major security problem. Even for private Gitlab instances it can be very problematic. Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2020-07-23llvm-flang: Only build offload code if cuda enabled (#17466)Dr Owain Kenway1-3/+4
* llvm-flang Only build offload code if cuda enabled The current version executes `cmake(*args)` always as part of the post install. If device offload is not part of the build, this results in referencing `args` without it being set and the error: ``` ==> Error: UnboundLocalError: local variable 'args' referenced before assignment ``` Looking at prevoous version of `llvm-package.py` this whole routine appears to be only required for offload, some indent `cmake/make/install` to be under the `if`. * Update package.py Add comment
2020-07-23clear mpicc and friends before each build (#17450)Sajid Ali1-0/+8
* clear mpi env vars
2020-07-10Bump version to 0.15.1; update CHANGELOG and version referencesv0.15.1Peter Josef Scheibel4-6/+26
2020-07-10spack install: improve error message with no args (#17454)Greg Becker2-2/+37
The error message was not updated when the behavior of Spack environments was changed to not automatically activate the local environment in #17258. The previous error message no longer makes sense.
2020-07-10installation: skip repository metadata for externals (#16954)Greg Becker1-3/+8
When Spack installs a package, it stores repository package.py files for it and all of its dependencies - any package with a Spack metadata directory in its installation prefix. It turns out this was too broad: this ends up including external packages installed by Spack (e.g. installed by another Spack instance). Currently Spack doesn't store the namespace properly for such packages, so even though the package file could be fetched from the external, Spack is unable to locate it. This commit avoids the issue by skipping any attempt to locate and copy from the package repository of externals, regardless of whether they have a Spack repo directory.
2020-07-10add public spack mirror (#17077)Peter Scheibel1-0/+2
2020-07-10bugfix: no infinite recursion in setup-env.sh on CrayTodd Gamblin3-0/+29
On Cray platforms, we rely heavily on the module system to figure out what targets, compilers, etc. are available. This unfortunately means that we shell out to the `module` command as part of platform initialization. Because we run subcommands in a shell, we can get infinite recursion if `setup-env.sh` and friends are in some init script like `.bashrc`. This fixes the infinite loop by adding guards around `setup-env.sh`, `setup-env.csh`, and `setup-env.fish`, to prevent recursive initializations of Spack. This is safe because Spack never shells out to itself, so we do not need it to be initialized in subshells. - [x] add recursion guard around `setup-env.sh` - [x] add recursion guard around `setup-env.csh` - [x] add recursion guard around `setup-env.fish`
2020-07-10Fix gcc + binutils compilation. (#9024)cedricchevalier191-3/+1
* fix binutils deptype for gcc binutils needs to be a run dependency of gcc * Fix gcc+binutils build on RHEL7+ static-libstdc++ is not available with system gcc. Anyway, as it is for bootstraping, we do not really care depending on a shared libstdc++. Co-authored-by: Michael Kuhn <michael@ikkoku.de>
2020-07-10autotools bugfix: handle missing config.guess (#17356)Michael Kuhn1-2/+2
Spack was attempting to calculate abspath on the located config.guess path even when it was not found (None); this commit skips the abspath calculation when config.guess is not found.
2020-07-10inel-mpi: fix for wrong structure name instroduced in ea8a0be4 (#17382)TZ1-1/+1
it's mpi_compiler_wrappers and not mpi_compiler._wrappers fixes 2nd part of #17371
2020-07-10Fix Intel MPI super invocation, again (#17378)Adam J. Stewart1-1/+1
2020-07-10autotools: Fix config.guess detection, take two (#17333)Michael Kuhn1-5/+3
The previous fix from #17149 contained a thinko that produced errors for packages that overwrite configure_directory.
2020-06-30changelog for v0.15.0v0.15.0Gregory Becker1-2/+96