summaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)AuthorFilesLines
2020-06-30Add fish shell support (#9279)Johannes Blaschke1-0/+2
* share/spack/setup-env.fish file to setup environment in fish shell * setup-env.fish testing script * Update share/spack/setup-env.fish Co-Authored-By: Elsa Gonsiorowski, PhD <gonsie@me.com> * Update share/spack/qa/setup-env-test.fish Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * updates completions using `spack commands --update-completion` * added stderr-nocaret warning * added fish shell tests to CI system Co-authored-by: becker33 <becker33@llnl.gov> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Elsa Gonsiorowski, PhD <gonsie@me.com>
2020-06-23Added unit tests to Github Actions (#16610)Massimiliano Culpo1-21/+0
* Added unit tests to Github Actions * Set user e-mail and name for git tests to succeed * Simplify setup.sh logic * Replicate Travis script on Github Actions * Update flags since '.' is not allowed * Added badge, simplified workflow * Remove pinning of coverage * Remove unit tests run on Github Actions from Travis
2020-05-12travis: use bionic as default for Linux (#16521)Massimiliano Culpo1-17/+23
Modifications: - [x] Travis now uses `bionic` as a default (`xenial` used for Python 3.5, `trusty` for Python 2.6) - [x] Shell unit tests have been factored into their own run - [x] `kcov` is built only for tests that upload coverage results Overall with this we shave 3-4 mins. on each run and add an additional run of about 3 min. For some reason `kcov` 38 fails forwarding output when used with Python unit tests, so I used v34 for that and v38 (latest) for shell testing. Previously we were using v25.
2020-05-11Remove 'spack bootstrap' and associated docs (#15179)Massimiliano Culpo1-5/+0
fixes #15145 This commit removes the outdated `spack bootstrap` command and any reference to it in the documentation and unit tests.
2020-05-09Add unit test on MacOS using Github Actions (#14220)Massimiliano Culpo1-20/+0
- Remove macos tests from travis - Add macos tests in github actions.
2020-05-09Increase coverage of spack.relocate (#16475)Massimiliano Culpo1-0/+20
- add docstrings and make parameter names consistent in `relocate.py` - Make `replace_prefix_*` and other functions private (as they are implementation details) - remove unused function _replace_prefix_nullterm() - Add unit tests for `relocate.py` functions - add patchelf to Travis and use it during tests - add hello_world fixture with a compiled binary, so we can test relocation
2020-04-28travis: extend the list of e-mails being notified of failures (#16352)Massimiliano Culpo1-1/+3
2019-12-25Migrate build tests from Travis to Github Actions (#13967)Massimiliano Culpo1-47/+0
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-16Travis 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-26Package Index: Build in Dockerhub (#13810)Axel Huebl1-12/+0
* Package Index: Build in Dockerhub Prepare to build the package index service, packages.spack.io, on Dockerhub. Local build (in spack root dir): ``` docker build -t spack/packages.spack.io:latest -f share/spack/docker/package-index/Dockerfile . ``` Local test: ``` docker run -p 8080:80 spack/packages.spack.io:latest ``` * Travis-CI: Remove Docker Remove leftover docker stages from Travis-CI. * Simplify Split Call
2019-11-22Remove mirrors from Travis cache (#13841)Massimiliano Culpo1-1/+0
2019-10-31Travis 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.