summaryrefslogtreecommitdiff
path: root/share
AgeCommit message (Collapse)AuthorFilesLines
2019-03-27spack chain (#8772)Peter Scheibel2-4/+20
* initial work to make use of an 'upstream' spack installation: this uses the DB of the upstream installation to check if a package is installed * need to query upstream dbs when adding new record to local db * prevent reindexing upstream DBs * set prefix on specs read from DB based on path stored in install record * check that Spack does not install packages that are recorded as installed in an upstream db * externals do not add their path to install records - need to use 'external_path' to get path of upstream externals * views need to check for upstream installations when linking metadata * package and spec now calculate upstream installation properties on-demand themselves rather than depending on concretization to set these properties up-front. The added tests for upstream installations don't work with this new strategy so they need to be updated * only refresh modules for local specs (not those in upstream packages); optionally generate local module files for packages installed upstream * when a user tries to locate a module file for a package installed upstream, tell them to use the upstream spack instance to locate it * support recursive upstream databases (allow upstream databases to use their own upstream databases) * separate upstream config into separate file with its own schema; each entry now also includes a name * metadata_dir is no longer customizable on a per-instance basis for YamlDirectoryLayout * treat metadata_dir as an instance variable but dont set it from kwargs; this follows several other hardcoded variables which must be consistent between upstream and downstream DBs. Also update DirectoryLayout.metadata_path to work entirely with Spec.prefix, since Spec.prefix is set from the DB when available (so metadata_path was duplicating that logic)
2019-03-25explicitly install unzip in all docker images (#10891)Omar Padron1-7/+10
2019-02-28Fix shell integration with environment-modules@4 (#10736)Michael Kuhn1-4/+10
2019-02-21release workflow: Add spack command for generating the .gitlab-ci.ymlScott Wittenburg1-0/+11
This spack command adds a new schema for a file which describes the builder containers available, along with the compilers availabe on each builder. The release-jobs command then generates the .gitlab-ci.yml file by first expanding the release spec set, concretizing each spec (in an appropriate docker container if --this-machine-only argument is not provided on command line), and then combining and staging all the concrete specs as jobs to be run by gitlab.
2019-02-21docker: Add Dockerfiles for images needed by AWS gitlab-runnersScott Wittenburg3-0/+118
The built images are set up with fairly recent versions of gcc and clang: - centos_7: [ gcc@5.5.0 (built from src), clang@6.0.0 (spack-built from src) ] - ubuntu_18.04: [ gcc@5.5.0 (system), clang@6.0.0-1ubuntu2 (system) ]
2019-02-21buildcache: Add sub-commands needed by release workflowScott Wittenburg1-0/+11
Adds four new sub-commands to the buildcache command: 1. save-yaml: Takes a root spec and a list of dependent spec names, along with a directory in which to save yaml files, and writes out the full spec.yaml for each of the dependent specs. This only needs to concretize the root spec once, then indexes it with the names of the dependent specs. 2. check: Checks a spec (via either an abstract spec or via a full spec.yaml) against remote mirror to see if it needs to be rebuilt. Comparies full_hash stored on remote mirror with full_hash computed locally to determine whether spec needs to be rebuilt. Can also generate list of specs to check against remote mirror by expanding the set of release specs expressed in etc/spack/defaults/release.yaml. 3. get-buildcache-name: Makes it possible to attempt to read directly the spec.yaml file on a remote or local mirror by providing the path where the file should live based on concretizing the spec. 4. download: Downloads all buildcache files associated with a spec on a remote mirror, including any .spack, .spec, and .cdashid files that might exist. Puts the files into the local path provided on the command line, and organizes them in the same hierarchy found on the remote mirror This commit also refactors lib/spack/spack/util/web.py to expose functionality allowing other modules to read data from a url.
2019-02-16[Docker] more base images (#10560)Omar Padron13-21/+90
* Revert "work around an issue with docker/dockerhub (#10547)" This reverts commit 0ef139ac4d475fb99e08b0856dd7f27b97082e50. * Add more docker base image configurations. - Renamed configs - "centos" -> "centos-7" - "fedora" -> "fedora-24" - "opensuse" -> "opensuse-tumbleweed" - "scilinux" -> "scilinux-7" - "ubuntu" -> "ubuntu-1804" - Added configs - "centos-6" - "fedora-29" - "opensuse-leap" - "scilinux-6" - "ubuntu-1604" With these changes, our docker hub image collection will consist of the following: - "spack/archlinux" - "latest" - "spack/centos" - "latest", "centos7", "7" - "centos6", "6" - "spack/fedora" - "latest", "29" - "24" - "spack/opensuse" - "latest", "tumbleweed" - "leap" - "spack/scilinux" - "latest", "7" - "6" - "spack/ubuntu" - "latest", "bionic", "18.04" - "xenial", "16.04"
2019-02-13make SPACK_SHELL detection more robust (#9712)Phil Carns1-1/+12
Spack shell detection in setup-env.sh was originally based on examining the executable name of $$ (from "ps"). In some cases this does not actually give the name of the shell used, for example when setup-env.sh was invoked from a script using "#!". To make shell detection more robust, this adds a preliminary check for shell variables which indicate that the shell is bash or zsh; the executable name of $$ is retained as a fallback if those variables are not defined.
2019-02-08work around an issue with docker/dockerhub (#10547)Omar Padron1-0/+14
* try to workaround an issue with docker/dockerhub * apply workaround only when running in travis
2019-01-24fix issue where docker images were being pushed without login (#10379)Omar Padron1-3/+1
2019-01-12fix typo in docker test script (#10334)Omar Padron1-1/+1
2019-01-12fix archlinux docker build (#10289)Omar Padron2-8/+7
2019-01-10spack versions: only list safe versions (#10004)Adam J. Stewart1-1/+1
* spack versions: only list safe versions * Add unit tests for spack versions -s
2019-01-01copyright: update license headers for 2013-2019 copyright.Todd Gamblin23-23/+23
2018-12-30commands: add `spack resource` command to inspect downloadable filesTodd Gamblin1-0/+26
- currently just looks at patches - allows you to find out which package applied a patch to a spec - intended to work with tarballs and resources in the future. - add tab completion for `spack resource` and subcommands
2018-12-29coverage: use kcov to get coverage for our cc scriptTodd Gamblin2-1/+26
2018-12-20Fix docker builds (#9805)Omar Padron2-7/+67
* move docker test logic to share/spack/qa * update Dockerfile for archlinux
2018-12-20fix multiple issues with the docker images (#9718)Omar Padron4-2/+24
- fixed an issue where some undesirable parts of the spack source tree were being copied into the image context. - added a workaround for a tty ioctl warning on ubuntu - adjusted how the main images are built so that `RUN spack ...` works automatically for child images that base themselves on them.
2018-12-20Report current git commit of Spack to CDashZack Galbreath1-4/+7
When using the CDash reporter, upload a Update.xml file that indicates the hash of Spack's current git commit.
2018-12-20Allow more customization for CDash reporterZack Galbreath2-4/+4
Add new command line arguments to `spack install` that allow users to set the build name, site name, and track in their CDash report.
2018-12-17Update Spack's Bash completion script (#10114)Adam J. Stewart1-35/+171
* Update Spack's Bash completion script * spack mirror create options changed
2018-12-15env setup: support --help for cd/env commands (#10069)Matthias Diener1-2/+2
2018-12-15.travis.yml: enable ccache (#6370)Christoph Junghans1-0/+2
2018-12-14Turn on verbose output for MPICH builds in Travis (#10105)Massimiliano Culpo1-1/+5
Lately many CI runs for PRs are failing due to the `mpich` build that times out on Travis (10 mins. without output). As the timeout seems to happen consistently during the build phase, increasing the verbosity of that test can help working around the issue.
2018-12-04fix: adapt junit template to escape std{out,err} (#9935)Matthias Wolf1-4/+4
2018-11-09env: environments can be named or created in directoriesTodd Gamblin2-4/+5
- `spack env create <name>` works as before - `spack env create <path>` now works as well -- environments can be created in their own directories outside of Spack. - `spack install` will look for a `spack.yaml` file in the current directory, and will install the entire project from the environment - The Environment class has been refactored so that it does not depend on the internal Spack environment root; it just takes a path and operates on an environment in that path (so internal and external envs are handled the same) - The named environment interface has been hoisted to the spack.environment module level. - env.yaml is now spack.yaml in all places. It was easier to go with one name for these files than to try to handle logic for both env.yaml and spack.yaml.
2018-11-09env: add spack env activate/deactivate and shell supportTodd Gamblin3-1/+80
- `spack env activate foo`: sets SPACK_ENV to the current active env name - `spack env deactivate`: unsets SPACK_ENV, deactivates the environment - added support to setup_env.sh and setup_env.csh - other env commands work properly with SPACK_ENV, as with an environment arguments. - command-line --env arguments take precedence over the active environment, if given.
2018-10-29setup-env: Avoid different output format of `ps` (#9629)Bert Wesarg1-1/+1
setup-env includes a call to 'ps' to determine what shell is being used. 'ps' can be instructed to use a different default output format via the 'PS_FORMAT' env variable. Thus unset this variable before calling 'ps'.
2018-10-26docker: unite Dockerfiles; auto-deploy images to DockerHub (#9329)Omar Padron24-408/+442
* Unite Dockerfiles - add build/run/push scripts * update docker documentation * update .travis.yml * switch to using a preprocessor on Dockerfiles * skip building docker images on pull requests * update files with copyright info * tweak when travis builds for docker files are done
2018-10-17relicense: add `spack license` commandTodd Gamblin1-0/+4
- `spack license list-files`: list all files that should have license headers - `spack license list-lgpl`: list files still under LGPL-2.1 - `spack license verify`: check that license headers are correct - Added `spack license verify` to style tests
2018-10-17relicense: replace LGPL headers with Apache-2.0/MIT SPDX headersTodd Gamblin13-69/+67
- remove the old LGPL license headers from all files in Spack - add SPDX headers to all files - core and most packages are (Apache-2.0 OR MIT) - a very small number of remaining packages are LGPL-2.1-only
2018-09-24travis: require sudo in an attempt to avoid build timeouts (#9327)Todd Gamblin1-1/+5
- Many container builds are timing out frequently during Spack tests in Travis CI. - Travis recommends to try `sudo: required` to see whether this is an infrastructure issue or something else. - added `sudo: required` to all Linux builds. - added --verbose to `spack test` invocation so that we can see more easily what tests it's timing out on. Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2018-08-14Csh: fix load/use commands (#8971)Matthias Diener1-4/+4
2018-08-07Fixing the addition curly brackets to conform to the rest of the templates ↵Micheal Quinn1-1/+1
usage of a literal curly bracket
2018-08-07Adding logic to the autoload if statement so it only fire if the module is ↵Micheal Quinn1-1/+1
being loaded.
2018-08-04Generate coverage reports for all unit and build testsAdam J. Stewart1-1/+1
2018-08-03Update bash completion with new spack arch flagsAdam J. Stewart1-1/+2
2018-08-01lmod: fix use of custom separator in prepend_path etc. (#8737)Stephen Herbein1-3/+3
fixes #8736
2018-07-27Fix shift warning on zsh (#8805)Michael Kuhn1-2/+10
When using zsh, trying to shift when there are no arguments left results in warnings like this: spack:shift:22: shift count must be <= $#
2018-07-24The auto-completion file is now consistent with `spack module`Massimiliano Culpo1-10/+124
2018-07-24Grouped all the module commands under `spack module`Massimiliano Culpo1-4/+4
As requested in the review all the commands meant to manage module files have been grouped under the `spack module` command. Unit tests have been refactored to match the new command structure.
2018-07-24module file tutorial: rebuilt docker image and updated the scriptMassimiliano Culpo1-2/+1
2018-07-24spack load exits with 1 if module does not exist or is not installedMassimiliano Culpo1-0/+8
fixes #2215 fixes #2570 fixes #6676 fixes #7281 closes #3827 This PR reverts the use of `spack module loads` in favor of `spack module find` when loading module files via Spack. After this PR `spack load` will accept a single spec at a time, and will be able to interpret correctly the `--dependencies` option.
2018-07-24Revert "Fix recursive module loading."Massimiliano Culpo1-4/+4
This reverts commit 732c24f603864ec7dbec425ac4507b47fdb7a641.
2018-07-22Remove extra Scientific Linux docker build left after merge. (#8770)Patrick Gartung4-247/+0
2018-07-18shell: Add spack to PATH before calling spack in setup-env.csh (#8740)Adam J. Stewart1-1/+1
2018-07-16add `spack --print-shell-vars` to speed up `setup-env.[c]sh` (#8101)Todd Gamblin2-21/+12
- The setup-env.sh script currently makes two calls to spack, but it should only need to make one. - Add a fast-path shell setup routine in `main.py` to allow the shell setup to happen in a single, fast call that doesn't load more than it needs to. - This simplifies setup code, as it has to eval what Spack prints - TODO: consider eventually making the whole setup script the output of a spack command
2018-06-26Docker dedupe (#8441)Omar Padron22-768/+125
* Add Dockerfile for Scientific Linux 7 (RHEL7 recompile) * revert version change * remove duplicate docker-related files
2018-06-26Add Dockerfile for Scientific Linux 7 (RHEL7 recompile) (#8422)Patrick Gartung5-0/+253
* Add Dockerfile for Scientific Linux 7 (RHEL7 recompile)
2018-06-24refactor: move templates from root to share/spackTodd Gamblin8-0/+308
- This complies with the unix directory hierarchy standard (which Spack attempts to follow) - Also unclutters the repo root directory.