summaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)AuthorFilesLines
2018-12-29coverage: use kcov to get coverage for our cc scriptTodd Gamblin1-4/+6
2018-12-29bugfix: add codecov upload back to travis.yml (#10220)Todd Gamblin1-0/+5
Codecov upload was accidentally removed in #9805
2018-12-29Use homebrew addon instead of manually invoking brew (#10213)Todd Gamblin1-7/+8
2018-12-23travis: fix pip install for docker stage (#10177)Omar Padron1-2/+3
2018-12-20Fix docker builds (#9805)Omar Padron1-22/+0
* move docker test logic to share/spack/qa * update Dockerfile for archlinux
2018-12-15Store ccache directory explicitly in Travis. (#10119)Massimiliano Culpo1-0/+3
* Store ccache directory explicitly in Travis. Despite we started using ccache on `develop`, it seems the cache itself is not stored from one CI build to the next. This might be du to the fact that our language on Travis is Python and not C nor C++. Hence here we store the ccache directory explicitly.
2018-12-15.travis.yml: enable ccache (#6370)Christoph Junghans1-2/+9
2018-12-14Updated the Travis environment to xenial (#10090)Massimiliano Culpo1-9/+2
* Updated the Travis environment to xenial. * Python 2.6 needs to remain on Trusty (can't be installed from Xenial)
2018-11-09travis: allow Python 2.6 to fail until we figure out why Travis hangs (#9776)Todd Gamblin1-0/+2
2018-10-26docker: allow docker build to fail until it's fixed (#9658)Todd Gamblin1-0/+1
2018-10-26docker: unite Dockerfiles; auto-deploy images to DockerHub (#9329)Omar Padron1-0/+28
* 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-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