summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2020-09-14Remove :<name> interpolation, add SPACK_VERSION variablesScott Wittenburg3-128/+94
Also fix issues with documentation to reflect changes
2020-09-14Document pipeline keys which can be global but overriddenScott Wittenburg1-6/+108
Update pipelines documentation to describe how 'tags', 'variables', 'image', 'before_script', 'script', and 'after_script' can be supplied at the top level, to be used by any of the runner mappings, and also overridden by any of the runner mappings. Also show an example of capturing the custom spack SHA at pipeline generation time, so all jobs are sure to run with the same version of spack, as a means to illustrate the $env:VARIABLE_NAME syntax.
2020-09-14Allow overridable global runner attributesScott Wittenburg3-11/+205
2020-09-14Update pipeline documentation to describe user-provided scriptsScott Wittenburg1-17/+73
2020-09-14Add test for variable interpolation and scriptsScott Wittenburg1-0/+82
2020-09-14Support variable interpolation at pipeline generation timeScott Wittenburg1-0/+10
2020-09-14Provide your own script, before_script, and after_scriptScott Wittenburg4-111/+34
2020-09-14Fix a typo in test/concretize.pyi (#18662)Massimiliano Culpo1-1/+1
2020-09-11bugfix: include configuration ignoring files with the same basename (#18487)Richarda Butler2-2/+43
* Use the config path instead of the basename * Removing unused variables Co-authored-by: Greg Becker <becker33@llnl.gov> * Test Making sure if there are 2 include config files with the same basename they are both implemented * Edit test assert Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-09-11Environments: Avoid inconsistent state on failed write (#18538)Massimiliano Culpo4-19/+206
Fixes #18441 When writing an environment, there are cases where the lock file for the environment may be removed. In this case there was a period between removing the lock file and writing the new manifest file where an exception could leave the manifest in its old state (in which case the lock and manifest would be out of sync). This adds a context manager which is used to restore the prior lock file state in cases where the manifest file cannot be written.
2020-09-09tcl module files: fix configuration overriding (#18514)Rémi Lacroix3-5/+28
This is a special case of overriding since each section is being matched with the current spec. The trailing ':' for sections with override is now removed when parsing the configuration so the special handling for the modules configuration stopped working but it went unnoticed.
2020-09-08Clarify manual download required if unable to fetch package (#18242)Tamara Dahlgren4-11/+87
Clarify manual download required if unable to fetch (from mirror(s)); support (and tests) for package-specific download instructions
2020-09-08commands: update help for `spack install --yes-to-all` (#18367)Richarda Butler1-1/+8
`spack install --yes-to-all` doesn't actually make the build non-interactive, but that is why people typically use it. This documents that you must also specify `--no-checksum` for a fully non-interactive build.
2020-09-08print out debug information about which specs are applying which constraintsPeter Josef Scheibel1-0/+2
2020-09-08spack docs: http -> https (#18573)Adam J. Stewart1-1/+1
2020-09-08Modules: Deduplicate suffixes but don't sort them. (#18351)Rémi Lacroix4-5/+11
* Modules: Deduplicate suffixes but don't sort them. The suffixes' order is defined by the order in which they appear in the configuration file. * Modules: Modify tests to use spack_yaml.load_config. spack_yaml.load_config ensures that the configuration is stored in an ordered manner. Without this change, the behavior of the tests did not match Spack's. * Modules: Tweak the suffixes test to better catch ordering issues.
2020-09-07SpecList: remove mutable types from __init__ arguments (#18515)Massimiliano Culpo1-1/+5
fixes #18439
2020-09-05Make spack environment configurations writable from spack external and spack ↵Robert Blake7-56/+125
compiler find (#18165) * spack config: default modification scope can be an environment The previous model was that environments are the highest priority config scope for config reading operations, but were not considered for config writing operations. Now, the active environment is the highest priority config scope for both reading and writing operations. Now spack config add, spack external find and spack compiler set environment configuration in the environment by default if an environment is active. This is a change in default behavior for these routines, but better matches the mental model for an environment taking precedence over the user's default config file. * add scope argument to 'spack external find' to choose non-default scope * Increase testing for config modifications on environments Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-09-03depends_on cannot handle ^ sigil (#18220)Adam J. Stewart1-1/+28
* depends_on cannot handle ^ sigil * cardioid+mfem+cuda requires hypre+cuda * Document this limitation * Move warning message to Known Issues docs * Better handling of parmetis dep
2020-09-03Add new MavenPackage build system base class (#18185)Adam J. Stewart6-0/+155
* Add new MavenPackage build system base class * Fix flake8 and doc tests * More specific regex * Java 8 required for these packages
2020-09-03Hashing: force hash consistency for values read from config (#18446)Massimiliano Culpo2-3/+56
The 'external_modules' attribute on a Spec, when read from a YAML configuration file, may contain extra formatting that is lost when that Spec is written-to/read-from JSON format. This was resulting in a hashing instability (when the Spec was read back, it would report a different hash). This commit adds a function which removes the extra formatting from 'external_modules' as it is passed to the Spec in __init__ to ensure a consistent hash.
2020-09-03install/install_tree: glob support (#18376)Adam J. Stewart2-64/+200
* install/install_tree: glob support * Add unit tests * Update existing packages * Raise error if glob finds no files, document function raises
2020-09-03Bugfix: terminate if a spack.yaml include path does not exist (#18074)Tamara Dahlgren2-1/+32
2020-09-02Add new RubyPackage build system base class (#18199)Adam J. Stewart5-8/+275
* Add new RubyPackage build system base class * Ruby: add spack external find support * Add build tests for RubyPackage
2020-09-02PythonPackage: update documentation (#18181)Adam J. Stewart2-36/+195
2020-09-02spack test: no gpg signing for git commits (#18454)Adam J. Stewart2-7/+11
2020-09-02Document test dependency type (#18365)Adam J. Stewart1-10/+18
2020-09-02Mac OS: support Python >= 3.8 by using fork-based multiprocessing (#18124)Rui Xue6-8/+29
As detailed in https://bugs.python.org/issue33725, starting new processes with 'fork' on Mac OS is not guaranteed to work in general. As of Python 3.8 the default process spawning mechanism was changed to avoid this issue. Spack depends on the fork-based method to preserve file descriptors transparently, to preserve global state, and to avoid pickling some objects. An effort is underway to remove dependence on fork-based process spawning (see #18205). In the meantime, this allows Spack to run with Python 3.8 on Mac OS by explicitly choosing to use 'fork'. Co-authored-by: Peter Josef Scheibel <scheibel1@llnl.gov> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-09-01Deprecate spack setup (#18240)Adam J. Stewart6-526/+5
2020-09-01test/relocate.py: skip tests involving patchelf on macOS (#18451)Patrick Gartung1-0/+20
2020-08-31Remove unmatched triple quotes (#18272)Adam J. Stewart1-1/+1
2020-08-27docs: add `main` version to docs for develop-like versions (#18328)Greg Becker1-1/+1
2020-08-27docs: fix bugs in contribution, getting started guides (#18216)Richarda Butler2-7/+24
Co-authored-by: Greg Becker <becker33@llnl.gov> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-26release procedure: add step to activate the documentation on readthedocs ↵Massimiliano Culpo1-2/+7
(#18288)
2020-08-22Fix redundant reset of terminal in prompt example (#17698)George Hartzell1-3/+3
I know that it's just an example, but I was trying to figure out what was going on and it wasn't making sense.... `tput sgr0` resets the terminal state (http://linuxcommand.org/lc3_adv_tput.php) and I can't see any reason to do it twice. Deleting the second occurrence doesn't seem to break the fancy prompt effect.
2020-08-21Added the file path for running a specific test (#18214)Richarda Butler1-1/+1
2020-08-20docs: List tar and some compressors in prerequisites (#18169)Michael Kuhn1-0/+3
Fixes #18152
2020-08-20allow external packages that violate conflicts (#18183)Greg Becker2-0/+10
2020-08-20Test "is_extension" after a round trip to dict (#18188)Massimiliano Culpo1-0/+16
closes #3887 closes #3853
2020-08-19Compilers: use Compiler._real_version for flag version checks (#18179)Greg Becker10-43/+95
Compilers can have strange versions, as the version is provided by the user. We know the real version internally, (by querying the compiler) so expose it as a property and use it in places we don't trust the user. Eventually we'll refactor this with compilers as dependencies, but this is the best fix we've got for now. - [x] Make `real_version` a property and cache the version returned by the compiler - [x] Use `real_version` to make C++ language level flags work
2020-08-19Restore curl progress output (#18127)Tamara Dahlgren2-5/+36
Restores the fetching progress bar sans failure outputs; restores non-debug reporting of using fetch cache for installed packages; and adds a unit test. * Add status bar check to test and fetch output when already installed
2020-08-19microarchitectures: Fix icelake (#18151)Michael Kuhn3-6/+35
Some of the feature flags are named differently and clwb is missing on my i7-1065G7. cascadelake and cannonlake might have similar problems but I do not have access to those architectures to test.
2020-08-18'spack env update' can handle overrides (#18149)Massimiliano Culpo2-1/+21
fixes #18147 Before this commit the command erroneously reported "Additional properties not allowed" for keys with a double colon.
2020-08-17Binary Distribution: Relocate RPATH on Cray (#18110)eugeneswalker4-19/+27
* make_package_relative: relocate rpaths on cray * relocate_package: relocate rpaths on cray * platforms: add `binary_formats` property We need to know which binary formats are supported on a platform so we know which types of relocations to try. This adds a list of binary formats to the platform and removes a bunch of special cases from `binary_distribution.py`. Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-08-14spack config update (bugfix): packages.yaml with empty attributes (#18057)Massimiliano Culpo2-1/+30
Before this PR, packages.yaml files that contained an empty "paths" or "modules" attribute were not updated correctly, since the update function was not reporting them as changed after the update. This PR fixes that issue and adds a unit test to avoid regression.
2020-08-13Improve output of the external find command (#18017)Massimiliano Culpo2-6/+38
This commit adds output to the "spack external find" command to inform users of the result of the operation. It also fixes a bug introduced in #17804 due to the fact that a function was not updated to conform to the new packages.yaml format (_get_predefined_externals).
2020-08-13fix buildcache create for environments with uninstalled root specs (#17859)Harmen Stoppels1-13/+21
* Handle uninstalled rootspecs in buildcache - Do not parse specs / find matching specs when in an environment and no package string is provided - Error only when a spec.yaml or spec string are not installed. In an environment it is fine when the root spec does not exist. - When iterating through the matched specs, simply skip uninstalled packages
2020-08-13"spack config update" can handle comments in YAML files (#18045)Massimiliano Culpo2-1/+37
fixes #18031 With this fix "spack config update" can update YAML files that contain comments, while previously it couldn't.
2020-08-13Merge tag 'v0.15.4' into developTodd Gamblin3-6/+10
2020-08-13bump version number for 0.15.4Todd Gamblin3-6/+10