diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2020-05-12 22:56:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-12 13:56:01 -0700 |
commit | 11fa61665f2c921d6c9af82d9556e2985a2f3bd4 (patch) | |
tree | bc94815517c74ef1cd41d8b0751ca808dd3498b5 /.travis.yml | |
parent | 6b41fb88a988cf35099ea5f5ecf7a3b42a5d7e1b (diff) | |
download | spack-11fa61665f2c921d6c9af82d9556e2985a2f3bd4.tar.gz spack-11fa61665f2c921d6c9af82d9556e2985a2f3bd4.tar.bz2 spack-11fa61665f2c921d6c9af82d9556e2985a2f3bd4.tar.xz spack-11fa61665f2c921d6c9af82d9556e2985a2f3bd4.zip |
travis: use bionic as default for Linux (#16521)
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.
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/.travis.yml b/.travis.yml index 9e2a797393..8107ad876d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ branches: # Build matrix #============================================================================= -dist: xenial +dist: bionic jobs: fast_finish: true @@ -32,27 +32,22 @@ jobs: # Everything but patchelf, that is not available for trusty packages: - ccache - - cmake - gfortran - graphviz - gnupg2 - kcov - mercurial - ninja-build - - perl - - perl-base - realpath - - r-base - - r-base-core - - r-base-dev - zsh env: [ TEST_SUITE=unit, COVERAGE=true ] - python: '2.7' os: linux language: python - env: [ TEST_SUITE=unit, COVERAGE=true ] + env: [ TEST_SUITE=unit, COVERAGE=true, KCOV_VERSION=34 ] - python: '3.5' os: linux + dist: xenial language: python env: TEST_SUITE=unit - python: '3.6' @@ -66,7 +61,11 @@ jobs: - python: '3.8' os: linux language: python - env: [ TEST_SUITE=unit, COVERAGE=true ] + env: [ TEST_SUITE=unit, COVERAGE=true, KCOV_VERSION=34 ] + - python: '3.8' + os: linux + language: python + env: [ TEST_SUITE=shell, COVERAGE=true, KCOV_VERSION=38 ] - python: '3.8' os: linux language: python @@ -87,20 +86,13 @@ addons: apt: packages: - ccache - - cmake + - coreutils - gfortran - graphviz - gnupg2 - - kcov - mercurial - ninja-build - patchelf - - perl - - perl-base - - realpath - - r-base - - r-base-core - - r-base-dev - zsh update: true @@ -114,6 +106,16 @@ cache: before_install: - ccache -M 2G && ccache -z + # Install kcov manually, since it's not packaged for bionic beaver + - if [[ "$KCOV_VERSION" ]]; then + sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev; + KCOV_ROOT=$(mktemp -d); + wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz; + tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz; + mkdir -p ${KCOV_ROOT}/build; + cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd - ; + make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install; + fi # Install various dependencies install: @@ -151,6 +153,10 @@ after_success: --flags "${TEST_SUITE}${TRAVIS_OS_NAME}"; fi ;; + shell) + codecov --env PYTHON_VERSION + --required + --flags "${TEST_SUITE}${TRAVIS_OS_NAME}"; esac #============================================================================= |