summaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)AuthorFilesLines
2018-09-24travis: require sudo in an attempt to avoid build timeouts (#9327)Todd Gamblin1-1/+8
- 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-09-03travis: bring back macOS test in unit test stageTodd Gamblin1-4/+1
2018-09-03travis: clean up .travis-ci.yml wrapping and indentationTodd Gamblin1-7/+14
- fix line wrapping in travis.yml to make parts more legible - Travis can handle multi-line if statements if you use semicolos.
2018-09-03travis: fix macOS builds, avoid brew autoupdateTodd Gamblin1-7/+12
2018-08-24Remove Python 3.3 from testing.Todd Gamblin1-4/+0
- Support for Python 3.3 isn't really needed, as nothing uses it as the default system Python, and nearly everyone will have a newer Python 3 version installed.
2018-08-20Even better Makefile target parsing (#8819)Adam J. Stewart1-0/+1
#8223 replaced regex-based makefile target parsing with an invocation of "make -q". #8818 discovered that "make -q" can result in an error for some packages. Also, the "make -q" strategy relied on interpreting the error code, which only worked for GNU Make and not BSD Make (which was deemed acceptable at the time). As an added bonus, this implementation ignores the exit code and instead parses STDERR for any indications that the target does not exist; this works for both GNU Make and BSD Make. #8223 also updated ninja target detection to use "ninja -t targets". This does not change that behavior but makes it more-explicit with "ninja -t targets all" This also adds tests for detection of "make" and "ninja" targets.
2018-08-04Generate coverage reports for all unit and build testsAdam J. Stewart1-13/+13
2018-07-23tests: Add python 3.7 to Travis CI (#8778)Massimiliano Culpo1-0/+15
* Test Spack on Python 3.7 as part of Travis CI * Currently using xenial to pull-in python 3.7 * As xenial is not officially supported yet, Travis tolerates failures on it.
2018-07-23tests: move doc tests to the unit test stageTodd Gamblin1-9/+8
- Frequently, the documentation build will fail mysteriously in some spack command. - The cause is some new bug introduced by the PR, but this is not apparent because the unit tests haven't run and the doc tests aren't targeted at code bugs. - Users end up puzzled by doc failures when they're really code failures. - Move the doc tests parallel with the code tests, so that we can more easily see bugs like this.
2018-07-19style: Add pep8-naming plugin to flake8Scott Wittenburg1-0/+1
Enforce PEP8 naming conventions for things like variables, methods, classes, etc. See the table here: https://pypi.org/project/pep8-naming/ ...for error codes emitted, in case some should be added as exceptions in the flake8 configuration files.
2018-03-06Save sources in a mirror and cache it in Travis (#7392)Massimiliano Culpo1-1/+4
2018-02-12Use python3.6 to test building docs (#7218)Massimiliano Culpo1-1/+1
I think the main issue here is that we ship a custom version of a system library (`argparse`), and this is prone to fail if `argparse` is imported before we hack `sys.path` internally. Probably a better solution would be not to customize argparse, but instead have a wrapper on top of whatever the system provides.
2018-01-18Added flags to unit tests + OSX build done once per day (#6988)Massimiliano Culpo1-8/+18
* Adding flags to codecov reports * OSX builds are triggered once a day
2018-01-10Travis: upload the coverage data as part of the script (#6877)Massimiliano Culpo1-4/+3
According to Travis docs the exit code of after_success doesn't affect the build result. Instead, uploading the coverage data as the last step of the script will cause the job to fail if the command exits with non-zero. https://docs.travis-ci.com/user/customizing-the-build/#Breaking-the-Build
2017-11-29travis: removed /usr/local/include/c++ before installing gcc on OSX (#6515)Massimiliano Culpo1-0/+1
"brew install gcc" fails for travis build because of an existing /usr/local/include/c++. This commit removes the offending file as suggested by brew.
2017-08-19Group Travis CI jobs in stages (#5104)Massimiliano Culpo1-13/+59
- This should speed-up Travis CI tests and refers to #5049 - Travis uses build-stages to group tests together - The idea is to let fast tests fail first, then move to longer ones. - Added external perl to avoid download failure from CPAN and reduce build time - Disabling perl-dbi: continues to fail with (504 Gateway Time-out) on Travis - We now cover all the build systems in tests: - Add back `openblas` to Travis as a separate package. - Switched `openblas` for `astyle` to build a simpler MakefilePackage. - Added 'tut' (WafPackage) - Added 'py-setuptools' (PythonPackage) - Added 'perl-dbi' (PerlPackage) - Added 'build_systems' directory to the ones for which we get a summary - Added 'openjpeg' (CMakePackage) - Added 'r-rcpp' (RPackage) - Added comments to build tests to show the covered build system
2017-06-01travis: fixes failure on six (#4415)Massimiliano Culpo1-0/+1
2017-05-26gpg: add 'spack gpg subcommand (#3845)Ben Boeckel1-0/+2
- Add a `spack gpg` subcommand in anticipation of signed binaries. - GPG keys are stored in var/spack/gpg, and the spack gpg command manages them. - Docs are included on the command.
2017-05-17Move doc dependencies to requirements.txt for readthedocs (#4280)Todd Gamblin1-2/+1
* Move doc dependencies to requirements.txt for readthedocs * Move sphinx to doc requirements.
2017-05-17Sphinx no longer supports Python 2.6 (#4266)Adam J. Stewart1-1/+2
* Sphinx no longer supports Python 2.6 * Update vendored sphinxcontrib.programoutput from 0.9.0 to 0.10.0 * Documentation cannot be built in parallel * Let Travis install programoutput for us * Remove vendored sphinxcontrib-programoutput Recent updates to the sphinx package prevent the vendored version from being found in sys.path. We don't vendor sphinx, so it doesn't make sense to vendor sphinxcontrib-programoutput either.
2017-05-09Travis version of pip is too old (#4180)Adam J. Stewart1-0/+2
* Travis version of pip is too old * Also need to upgrade setuptools
2017-04-27Separate integration tests; simplify test scripts (#4006)Todd Gamblin1-3/+11
* Separate build integration tests; simplify test scripts - Move build tests out of the regular Travis unit tests, add more smoke test packages to build. - Run all test scripts with bash -e, which fails on error. - Factor coverage out into a Travis environment variable, so it's more obvious from .travis.yml which tests contribute to coverage and which don't. - Factor dependency checking and much of the front-matter in tests scripts into a setup.sh script, which is sourced by all the test scripts. Extra cruft in each tests script now reduced to 2 lines at the beginning.
2017-04-21Coverage for multiple Python versions. (#3951)Todd Gamblin1-1/+1
Update tests to use codecov for multiple python versions.
2017-03-31Clean up tests and add Python3 to Travis.Todd Gamblin1-1/+17
- Clean up spec_syntax tests: don't dependend on DB order. - spec_syntax hash parsing tests were strongly dependent on the order the DB was traversed. - Tests now specifically grab the specs they want from the mock DB. - Tests are more readable as a result. - Add Python3 versions to Travis tests.
2017-03-31Update externals to work with Python 3Todd Gamblin1-1/+0
- Update YAML version to support Python 3 - Python 3 support for ordereddict backport - Exclude Python3 YAML from version tests. - Vendor six into Spack. - Make Python version-check tests work with Python 3 - Add ability to add version check exceptions with '# nopyqver' line comments.
2017-02-10qa: allow fast finish to avoid consuming a precious OSX build on a PR that ↵Massimiliano Culpo1-0/+1
will fail (#3120)
2017-01-26Use codecov for coverage instead of coveralls (#2933)Todd Gamblin1-25/+21
* Switch from coveralls to codecov - Add .codecov.yml, simplify .travis.yml - Add codecov badge to README.md * Add tests for spack graph.
2017-01-16Add release branches to travis testing.Todd Gamblin1-0/+1
2016-12-30Run coverage for the `spack install` command as well as `spack test`.Todd Gamblin1-2/+2
- Also don't run coverage on OSX.
2016-12-30Add OSX build to .travis.yml. Clean up .travis.yml (#2689)Todd Gamblin1-3/+32
* Add OSX build to .travis.yml. Clean up .travis.yml * Add gcc/gfortran to the mac brew setup.
2016-12-29unit tests: replace nose with pytest (#2502)Massimiliano Culpo1-4/+4
* Porting: substitute nose with ytest This huge commit substitutes nose with pytest as a testing system. Things done here: * deleted external/nose as it is no longer used * moved mock resources in their own directory 'test/mock/' * ported two tests (cmd/find, build_system) to pytest native syntax as an example * build_environment, log: used monkeypatch instead of try/catch * moved global mocking of fetch_cache to an auto-used fixture * moved global mocking from test/__init__.py to conftest.py * made `spack test` a wrapper around pytest * run-unit-tests: avoid running python 2.6 tests under coverage to speed them up * use `pytest --cov` instead of coverage run to cut down testing time * mock/packages_test: moved mock yaml configuration to files instead of leaving it in the code as string literals * concretize.py: ported tests to native pytest, reverted multiprocessing in pytest.ini as it was creating the wrong report for coveralls * conftest.py, fixtures: added docstrings * concretize_preferences.py: uses fixtures instead of subclassing MockPackagesTest * directory_layout.py: uses fixtures instead of subclassing MockPackagesTest * install.py: uses fixtures instead of subclassing MockPackagesTest * optional_deps.py: uses fixtures instead of subclassing MockPackagesTest optional_deps.py: uses fixtures instead of subclassing MockPackagesTest * packages.py: uses fixtures instead of subclassing MockPackagesTest * provider_index.py: uses fixtures instead of subclassing MockPackagesTest * spec_yaml.py: uses fixtures instead of subclassing MockPackagesTest * multimethod.py: uses fixtures instead of subclassing MockPackagesTest * install.py: now uses mock_archive_url * git_fetch.py: uses fixtures instead of subclassing MockPackagesTest * hg_fetch.py: uses fixtures instead of subclassing MockPackagesTest * svn_fetch.py, mirror.py: uses fixtures instead of subclassing MockPackagesTest repo.py: deleted * test_compiler_cmd.py: uses fixtures instead of subclassing MockPackagesTest * cmd/module.py, cmd/uninstall.py: uses fixtures instead of subclassing MockDatabase * database.py: uses fixtures instead of subclassing MockDatabase, removed mock/database * pytest: uncluttering fixture implementations * database: changing the scope to 'module' * config.py: uses fixtures instead of subclassing MockPackagesTest * spec_dag.py, spec_semantics.py: uses fixtures instead of subclassing MockPackagesTest * stage.py: uses fixtures instead of subclassing MockPackagesTest. Removed mock directory * pytest: added docstrings to all the fixtures * pytest: final cleanup * build_system_guess.py: fixed naming and docstrings as suggested by @scheibelp * spec_syntax.py: added expected failure on parsing multiple specs closes #1976 * Add pytest and pytest-cov to Spack externals. * Make `spack flake8` ignore externals. * run-unit-tests runs spack test and not pytest. * Remove all the special stuff for `spack test` - Remove `conftest.py` magic and all the special case stuff in `bin/spack` - Spack commands can optionally take unknown arguments, if they want to handle them. - `spack test` is now a command like the others. - `spack test` now just delegates its arguments to `pytest`, but it does it by receiving unknown arguments and NOT taking an explicit help argument. * Fix error in fixtures. * Improve `spack test` command a bit. - Now supports an approximation of the old simple interface - Also supports full pytest options if you want them. * Use external coverage instead of pytest-cov * Make coverage use parallel-mode. * change __init__.py docs to include pytest
2016-12-05Remove CYAML tests from Spack now that the DB is JSON. (#2487)Todd Gamblin1-4/+2
2016-12-05travis: sphinx does not support python 2.6 anymore (#2485)Massimiliano Culpo1-0/+3
2016-10-30travis.yml: Only build master and develop on pushTodd Gamblin1-0/+6
2016-10-15travis : unit tests will run with and without libyaml (#2024)Massimiliano Culpo1-2/+5
* travis : unit tests will run with and without libyaml * travis : fixed package that are installed
2016-08-30Install graphviz before build.Todd Gamblin1-0/+6
2016-08-30Fix typos and bugs in Travis config fileAdam J. Stewart1-5/+2
Forgot to change one of the TEST_TYPEs to TEST_SUITE. -eq not working, trying == instead. Cache doesn't seem to be working, removed.
2016-08-30Overhaul Spack's CI InfrastructureAdam J. Stewart1-18/+21
2016-07-30qa : fixes #1370 (no flake8 on python 2.6, coveralls only python 2.7)alalazo1-11/+14
2016-05-11.travis.yml uses a script now.Todd Gamblin1-15/+2
- user can run the same script.
2016-05-11Update code style checking.Todd Gamblin1-6/+18
- Exempt overlong URL lines from checks. - Omit some of the more painful PEP items.
2016-05-10qa : differentiate framework from packagesalalazo1-2/+5
2016-05-10qa : copied flake8 configuration, updated travis.ymlalalazo1-1/+1
2016-05-10Move args to .coveragercTodd Gamblin1-2/+2
2016-03-22travis : removed external directory from the list under coveragealalazo1-1/+1
2016-03-22Merge branch 'develop' of https://github.com/LLNL/spack into qa/coding_standardalalazo1-0/+3
Conflicts: .travis.yml
2016-03-15Add compiler info and a simple libdwarf build to the checks.Todd Gamblin1-0/+3
2016-02-05removed redundant references to pep8alalazo1-3/+1
2016-01-19reverted email notificationalalazo1-1/+1
2016-01-19code checking : added flake8alalazo1-0/+3