summaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)AuthorFilesLines
2019-12-23Travis exits at the first failing test, pin codecov at v4.5.4 (#14179)Massimiliano Culpo1-1/+1
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-11-01Travis CI: Test Python 3.8 (#13347)Adam J. Stewart1-11/+15
* Travis CI: Test Python 3.8 * Fix use of deprecated cgi.escape method * Fix version comparison * Fix flake8 F811 change in Python 3.8 * Make flake8 happy * Use Python 3.8 for all test categories
2019-10-22Disable macOS builds on PRs while we wait for Travis to catch up. (#13389)Todd Gamblin1-0/+1
Travis macOS builds are taking too long to run, so we'll only run them on `develop` until they get faster.
2019-10-21Bootstrap environment modules optimizing for generic architectures (#13105)Massimiliano Culpo1-0/+5
fixes #13073 Since #3206 was merged bootstrapping environment-modules was using the architecture of the current host or the best match supported by the default compiler. The former case is an issue since shell integration was looking for a spec targeted at the host microarchitecture. 1. Bootstrap an env modules targeted at generic architectures 2. Look for generic targets in shell integration scripts 3. Add a new entry in Travis to test shell integration
2019-10-08travis: bump python version for flake8 and build testsMassimiliano Culpo1-7/+7
2019-08-06Avoid sending empty reports to codecov (#12293)Massimiliano Culpo1-3/+5
Before this commit we were sending reports also for unit tests that were not collecting coverage data.
2019-07-05travis: the sudo tag is now deprecated (#11933)cclauss1-10/+0
* Travis CI: The sudo tag is now deprecated in Travis __sudo: required__ no longer is. * Remove obsolete comment __travis_wait__ can help with long-running processes. * https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
2019-07-05tests: add tests for setup-env.shTodd Gamblin1-23/+10
- tests use a shell-script harness and test all Spack commands that require special shell support. - tests work in bash, zsh, and dash - run setup-env.sh tests on macos and linux builds. - we run them on macos and linux
2019-06-18Ensure `brew update` is run before using brew in test environment (#11784)Greg Becker1-0/+1
All macos tests are failing because brew cannot install ccache without updating brew. This ensures that brew update is run before using brew in test environment.
2019-05-11tests: stop testing Python 3.4Todd Gamblin1-5/+0
2019-05-11tests: require Python 2.6 tests to passTodd Gamblin1-2/+0
2019-05-10enable coverage for python 2.6 unit testsTodd Gamblin1-1/+1
2019-05-11coverage: only run coverage for subset of unit testsTodd Gamblin1-3/+3
- Codecov cannot handle as many coverage reports as we are generating - as a result, our PR coverage pages have been broken for a while, and it's hard to tell people where to enhance their testing in PR reviews. - Scale back to only running coverage for 3.7 and 2.7 unit tests - This is *probably* better. We run the build tests for good measure, but we do not need to evaluate them for coverage. The coverage reports are about unit tests.
2019-05-01Fix spack flake8 to use Travis's target as base when neededTodd Gamblin1-1/+1
2019-04-11Updated Sphinx configuration (#11165)Massimiliano Culpo1-1/+1
2019-02-28Added a sub-command to show if packages are relocatable (#9199)Massimiliano Culpo1-0/+18
* Added the `spack buildcache preview` sub-command This is similar to `spack spec -I` but highlights which nodes in a DAG are relocatable and which are not. spec.tree has been generalized a little to accept a status function, instead of always showing the install status The current implementation works only for ELF, and needs to be generalized to other platforms. * Added a test to check if an executable is relocatable or not This test requires a few commands to be present in the environment. Currently it will run only under python 3.7 (which uses Xenial instead of Trusty). * Added tests for the 'buildcache preview' command. * Fixed codebase after rebase * Fixed the list of apt addons for Python 3.7 in travis.yaml * Only check ELF executables and shared libraries. Skip checking virtual or external packages. (#229) * Fixed flake8 issues * Add handling for macOS mach binaries (#231)
2018-12-30stopgap: allow travis to fail for Python 2.6 againTodd Gamblin1-0/+2
- Travis still fails on `spack spec` in Python 2.6. - Allow the failure until we get to the bottom of it.
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.