summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2020-07-01 18:58:53 +0200
committerTodd Gamblin <tgamblin@llnl.gov>2020-08-13 00:30:51 -0700
commitfc94dde3fc471bc765494387e9d86d1137dbf99a (patch)
tree8f7369622e0150adcf3d88734f75854b08b2ff86 /.travis.yml
parentc064088cf3ab23f74791f49c587a301144b5c3a3 (diff)
downloadspack-fc94dde3fc471bc765494387e9d86d1137dbf99a.tar.gz
spack-fc94dde3fc471bc765494387e9d86d1137dbf99a.tar.bz2
spack-fc94dde3fc471bc765494387e9d86d1137dbf99a.tar.xz
spack-fc94dde3fc471bc765494387e9d86d1137dbf99a.zip
Moved flake8, shell and documentation tests to Github Action (#17328)
* Move flake8 tests on Github Actions * Move shell test to Github Actions * Moved documentation build to Github Action * Don't run coverage on Python 2.6 Since we get connection errors consistently on Travis when trying to upload coverage results for Python 2.6, avoid computing coverage entirely to speed-up tests.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml119
1 files changed, 10 insertions, 109 deletions
diff --git a/.travis.yml b/.travis.yml
index 5d8b793758..df4262bf1e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,3 @@
-#=============================================================================
-# Project settings
-#=============================================================================
# Only build master and develop on push; do not build every branch.
branches:
only:
@@ -8,107 +5,30 @@ branches:
- develop
- /^releases\/.*$/
-#=============================================================================
-# Build matrix
-#=============================================================================
-
-dist: bionic
-
-jobs:
- fast_finish: true
- include:
- - stage: 'style checks'
- python: '3.8'
- os: linux
- language: python
- env: TEST_SUITE=flake8
- - stage: 'unit tests + documentation'
- python: '2.6'
- dist: trusty
- os: linux
- language: python
- addons:
- apt:
- # Everything but patchelf, that is not available for trusty
- packages:
- - ccache
- - gfortran
- - graphviz
- - gnupg2
- - kcov
- - mercurial
- - ninja-build
- - realpath
- - zsh
- - fish
- env: [ TEST_SUITE=unit, COVERAGE=true ]
- - python: '3.8'
- os: linux
- language: python
- env: [ TEST_SUITE=shell, COVERAGE=true, KCOV_VERSION=38 ]
- - python: '3.8'
- os: linux
- language: python
- env: TEST_SUITE=doc
-
-stages:
- - 'style checks'
- - 'unit tests + documentation'
-
-
-#=============================================================================
-# Environment
-#=============================================================================
-
-# Docs need graphviz to build
+language: python
+python: '2.6'
+dist: trusty
+os: linux
addons:
- # for Linux builds, we use APT
apt:
packages:
- - ccache
- - coreutils
- gfortran
- graphviz
- gnupg2
+ - kcov
- mercurial
- ninja-build
- - patchelf
+ - realpath
- zsh
- fish
- update: true
-
-# ~/.ccache needs to be cached directly as Travis is not taking care of it
-# (possibly because we use 'language: python' and not 'language: c')
-cache:
- pip: true
- ccache: true
- directories:
- - ~/.ccache
-
-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:
- pip install --upgrade pip
- pip install --upgrade six
- pip install --upgrade setuptools
- - pip install --upgrade codecov coverage==4.5.4
- pip install --upgrade flake8
- pip install --upgrade pep8-naming
- - if [[ "$TEST_SUITE" == "doc" ]]; then
- pip install --upgrade -r lib/spack/docs/requirements.txt;
- fi
before_script:
# Need this for the git tests to succeed.
@@ -118,31 +38,12 @@ before_script:
# Need this to be able to compute the list of changed files
- git fetch origin ${TRAVIS_BRANCH}:${TRAVIS_BRANCH}
-#=============================================================================
-# Building
-#=============================================================================
script:
- - share/spack/qa/run-$TEST_SUITE-tests
-
-after_success:
- - ccache -s
- - case "$TEST_SUITE" in
- unit)
- if [[ "$COVERAGE" == "true" ]]; then
- codecov --env PYTHON_VERSION
- --required
- --flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
- fi
- ;;
- shell)
- codecov --env PYTHON_VERSION
- --required
- --flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
- esac
+ - python bin/spack -h
+ - python bin/spack help -a
+ - python bin/spack -p --lines 20 spec mpileaks%gcc ^elfutils@0.170
+ - python bin/spack test -x --verbose
-#=============================================================================
-# Notifications
-#=============================================================================
notifications:
email:
recipients: