summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-12-31tests: rename checks in github actionsTodd Gamblin3-5/+5
I usually want to look at the Travis CI output, but I currently have to scroll down to see it. This renames checks to be a bit shorter and more consistent with Travis's naming, and also so that actions appear lower than travis and codecov in the list of checks.
2019-12-31Modify create clue list so R packages are detected (#12277)Glenn Johnson1-1/+1
R packages can contain configure scripts so R needs to be before autotools in the clue list.
2019-12-31tests: move mock config.yaml files to common directoryTodd Gamblin5-15/+8
Test configuration files (except modules.yaml) were in the root level of test/data, but should really just be in their own directory. The absence of modules.yaml was also breaking module tests if we got module preferences after tests started, as the mock modules.yaml was not in the test directory.
2019-12-31config: remove all module-scope calls to spack.config.get()Todd Gamblin4-16/+27
This avoids parsing modules.yaml on startup.
2019-12-31modules: make the module hook more robustTodd Gamblin1-8/+12
The module hook would previously fail if there were no enabled module types. - Instead of looking for a `KeyError`, default to empty list when the config variable is not present. - Convert lambdas to real functions for clarity.
2019-12-31hooks: remove pre_run hook to improve startup time.Todd Gamblin3-49/+0
- Remove legacy yaml_version_check() hook - Remove the pre_run hook from `hook/__init__.py` and `main.py` We want to discourage the use of pre-run hooks because they have to run at startup. To keep Spack fast, we should do things like this lazily instead of in hooks that require spidering directories full of modules.
2019-12-31new package: py-msgpack (#14329)Sinan1-0/+17
* new package: py-msgpack * remove python dependency * remove cython dependency
2019-12-31Ignore coverage drop due to lack of macOS tests (#14333)Adam J. Stewart1-1/+2
* Ignore coverage drop due to lack of macOS tests * Fix codecov tree structure
2019-12-31Updated versions and more variants (#14310)Jonathan R. Madsen1-4/+43
* Updated versions and more variants - Added 'develop' and '3.0.0' versions - Added 'tau', 'upcxx', 'gotcha', and 'likwid' * Added conflict handling for +cupti~cuda * Removed extra cmake args line
2019-12-31add new package : libfastcommon (#14303)darmac1-0/+31
* add new package : libfastcommon * update libfastcommon install()
2019-12-31add new package : moosefs (#14305)darmac1-0/+24
* add new package : moosefs * remove no-need depens : zlib
2019-12-31add new package : opentsdb (#14317)darmac1-0/+33
* add new package : opentsdb * remove redundant url_for_version()
2019-12-31New package - zziplib (#14318)Glenn Johnson2-0/+743
This PR adds the zziplib package.
2019-12-31new package: py-asciitree (#14327)Sinan1-0/+17
* new package: py-asciitree * fix typo
2019-12-31Add OpenFOAM 1912 (#14322)Mark Olesen1-0/+1
2019-12-30copyright: update copyright dates for 2020 (#14328)Todd Gamblin4346-4351/+4351
2019-12-30bugfix: add required fixture for CDash authentication test (#14325)Todd Gamblin1-1/+1
2019-12-30Add support for authenticated CDash uploads (#14200)Zack Galbreath4-3/+35
2019-12-30refactor: rename mock_config fixture to mock_low_high_configTodd Gamblin4-31/+32
This avoids confusion with mock_configuration.
2019-12-30argparse: lazily construct common argumentsTodd Gamblin3-72/+120
Continuing to shave small bits of time off startup -- `spack.cmd.common.arguments` constructs many `Args` objects at module scope, which has to be done for all commands that import it. Instead of doing this at load time, do it lazily. - [x] construct Args objects lazily - [x] remove the module-scoped argparse fixture - [x] make the mock config scope set dirty to False by default (like the regular scope) This *seems* to reduce load time slightly
2019-12-30tests: refactor tests to avoid persistent global stateTodd Gamblin16-90/+141
Previously, fixtures like `config`, `database`, and `store` were module-scoped, but frequently used as test function arguments. These fixtures swap out global on setup and restore them on teardown. As function arguments, they would do the right set-up, but they'd leave the global changes in place for the whole module the function lived in. This meant that if you use `config` once, other functions in the same module would inadvertently inherit the mock Spack configuration, as it would only be torn down once all tests in the module were complete. In general, we should module- or session-scope the *STATE* required for these global objects (as it's expensive to create0, but we shouldn't module-or session scope the activation/use of them, or things can get really confusing. - [x] Make generic context managers for global-modifying fixtures. - [x] Make session- and module-scoped fixtures that ONLY build filesystem state and create objects, but do not swap out any variables. - [x] Make seeparate function-scoped fixtures that *use* the session scoped fixtures and actually swap out (and back in) the global variables like `config`, `database`, and `store`. These changes make it so that global changes are *only* ever alive for a singlee test function, and we don't get weird dependencies because a global fixture hasn't been destroyed.
2019-12-30tests: make env tests that use configs non-destructiveTodd Gamblin1-10/+10
Environment tests pushed config scopes but didn't properly remove them. - [x] use `with env:` context manager instead of `env.prepare_config_scopes()`
2019-12-30package_prefs: move class-level cache to PackagePref instanceTodd Gamblin5-57/+11
`PackagePrefs` has had a class-level cache of data from `packages.yaml` for a long time, but it complicates testing and leads to subtle errors, especially now that we frequently manipulate custom config scopes and environments. Moving the cache to instance-level doesn't slow down concretization or the test suite, and it just caches for the life of a `PackagePrefs` instance (i.e., for a single cocncretization) so we don't need to worry about global state anymore. - [x] Remove class-level caches from `PackagePrefs` - [x] Add a cached _spec_order object on each `PackagePrefs` instance - [x] Remove all calls to `PackagePrefs.clear_caches()`
2019-12-29Add py-numpy 1.16.6 (#14313)Adam J. Stewart1-0/+1
2019-12-29Add support for graphite2 support to harfbuzz (#14300)Glenn Johnson1-0/+5
This PR adds graphite2 support to harfbuzz. This PR depends on PR #14299, which added the graphite2 package to spack.
2019-12-28externals: avoid importing jinja2 on startup (#14308)Todd Gamblin2-5/+6
Jinja2 costs a tenth to a few tenths of a second to import, so we should avoid importing it on startup. - [x] only import jinja2 within functions
2019-12-28bugfix: colify_table should not revert to 1 column for non-tty (#14307)Todd Gamblin1-4/+13
Commands like `spack blame` were printig poorly when redirected to files, as colify reverts to a single column when redirected. This works for list data but not tables. - [x] Force a table by always passing `tty=True` from `colify_table()`
2019-12-28add new package : jafka (#14304)darmac1-0/+29
2019-12-28New package - TECkit (#14301)Glenn Johnson1-0/+29
This PR adds the teckit package to spack.
2019-12-28New package - graphite2 (#14299)Glenn Johnson1-0/+18
* New package - graphite2 This PR adds the Graphite2 package to Spack. * Replace smart quotes with standard quotes
2019-12-27setup-env-test: fix pipe redirect (#14306)Johannes Blaschke1-1/+1
2019-12-27Improve info variant header (#14275)Dr. Christian Tacke1-1/+3
In "spack info" the Variants header currently has two blank lines under it. That's too much. It looks like the actual content belongs to something else. Instead underline the headers to make things more obvious.
2019-12-27New package - libpaper (#14302)Glenn Johnson1-0/+22
This PR adds the paper library to spack.
2019-12-27added build dependences required after cairo package change (#14297)Gregory Lee1-1/+1
* added build dependences required after cairo package change * fixed pango build dependencies
2019-12-26patch cairo build files for build without fontconfig fixes #14112 (#14296)Gregory Lee2-0/+49
* patch cairo build files for build without fontconfig * added build dependencies for cairo
2019-12-26Add Avizo Recipe (#12792)asmaahassan901-0/+52
* Add Avizo Recipe * make changes as per review * fix home url and linting * Fix url * fix identation * change checksum to sha256 instead of md5 * fix installation * fix lint * fix identation * make it compatible with python 2.6 * enhancing recipe and fixing avizo licensing changes as per suggestions from reviewer; fix licensing * fix identation * use new setup_run_environment function
2019-12-26aspa: Fix common errors. (#14295)t-karatsu2-0/+61
* aspa: Fix common errors. * defined new member 'Vec_value_type' in 'self' namespace. * fix narrowing error. * fix patch about typecast.
2019-12-25Migrate build tests from Travis to Github Actions (#13967)Massimiliano Culpo4-50/+74
This PR moves build smoke tests from TravisCI and migrates them to Github Actions. The result is that build tests are performed in parallel with unit tests and they don't hog additional resources on Travis. The workflow will not run if a PR only changes packages in the built-in repository, but will always run on pushes to develop or master. * Removed build tests from Travis and passed them to Github Actions * Store ~/.ccache in Github Actions cache * Add filters on paths and make sure this workflow don't run * Use paths-ignore and exclude only files in the built-in repo * Added a badge to README.md
2019-12-24tests: finish removing pyqver from the repository (#14294)Todd Gamblin3-6/+2
Remove a few remaining mentions of the pyqver package, which was removed in #14289.
2019-12-24tests: check min required python version with vermin (#14289)Massimiliano Culpo13-769/+42
This commit removes the `python_version.py` unit test module and the vendored dependencies `pyqver2.py` and `pyqver3.py`. It substitutes them with an equivalent check done using `vermin` that is run as a separate workflow via Github Actions. This allows us to delete 2 vendored dependencies that are unmaintained and substitutes them with a maintained tool. Also, updates the list of vendored dependencies.
2019-12-24a64fx: fix typo in GCC flags (#14286)t-karatsu1-2/+2
2019-12-24intel-pin: add version 3.11 (#14292)Matthias Diener1-0/+1
2019-12-24cmake: add version 3.16.2 (#14291)Matthias Diener1-0/+1
2019-12-24scons: add version 3.1.2 (#14290)Matthias Diener1-0/+1
2019-12-24Bump nektar to 5.0.0. (#14288)健美猞猁1-0/+1
2019-12-24Merge branch 'releases/v0.13' into developTodd Gamblin2-1/+17
2019-12-23update CHANGELOG.md for 0.13.3v0.13.3Todd Gamblin1-0/+16
2019-12-23version bump: 0.13.3Todd Gamblin1-1/+1
2019-12-23Travis exits at the first failing test, pin codecov at v4.5.4 (#14179)Massimiliano Culpo2-2/+2
Before this commit we used to run the entire unit test suite in the presence of a failure. Since we currently rely a lot on the state of the filesystem etc. the end report was most of the time showing spurious failures that were a consequence of the first failing test. This PR makes unit tests exit at the first failing test Also, pin codecov at v4.5.4 (last one supporting Python 2.6)
2019-12-23performance: dont' read `spec.yaml` files twice in view regenerationTodd Gamblin2-4/+8
`ViewDescriptor.regenerate()` calls `get_all_specs()`, which reads `spec.yaml` files, which is slow. It's fine to do this once, but `view.remove_specs()` *also* calls it immediately afterwards. - [x] Pass the result of `get_all_specs()` as an optional parameter to `view.remove_specs()` to avoid reading `spec.yaml` files twice.