Skip to content

Commit

Permalink
Merge 22b002c into 36731fc
Browse files Browse the repository at this point in the history
  • Loading branch information
hamogu committed May 16, 2019
2 parents 36731fc + 22b002c commit daf28f5
Show file tree
Hide file tree
Showing 15 changed files with 457 additions and 317 deletions.
151 changes: 120 additions & 31 deletions .travis.yml
@@ -1,11 +1,19 @@
language: python
# We set the language to c because python isn't supported on the MacOS X nodes
# on Travis. However, the language ends up being irrelevant anyway, since we
# install Python ourselves using conda.
language: c

python:
- 2.7
- 3.5
os:
- linux

# Setting sudo to false opts in to Travis-CI container-based builds.
sudo: false

# The apt packages below are needed for sphinx builds. A full list of packages
# that can be included can be found here:
#
# https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise

addons:
apt:
packages:
Expand All @@ -16,53 +24,134 @@ addons:

env:
global:

# The following versions are the 'default' for tests, unless
# overridden underneath. They are defined here in order to save having
# to repeat them for all configurations.
- PYTHON_VERSION=3.7
- NUMPY_VERSION=stable
- ASTROPY_VERSION=stable
- MAIN_CMD='python setup.py'
- SETUP_CMD='test'
- CONDA_DEPENDENCIES='sherpa'
- CONDA_CHANNELS='sherpa'
- EVENT_TYPE='pull_request push'


# For this package-template, we include examples of Cython modules,
# so Cython is required for testing. If your package does not include
# Cython code, you can set CONDA_DEPENDENCIES=''
- CONDA_DEPENDENCIES='Cython sherpa'
- CONDA_DEPENDENCIES_DOC='Cython sphinx-astropy sherpa'

# List other runtime dependencies for the package that are available as
# pip packages here.
- PIP_DEPENDENCIES=''

# Conda packages for affiliated packages are hosted in channel
# "astropy" while builds for astropy LTS with recent numpy versions
# are in astropy-ci-extras. If your package uses either of these,
# add the channels to CONDA_CHANNELS along with any other channels
# you want to use.
- CONDA_CHANNELS='astropy-ci-extras astropy sherpa'

# If there are matplotlib or other GUI tests, uncomment the following
# line to use the X virtual framebuffer.
# - SETUP_XVFB=True

# If you want to ignore certain flake8 errors, you can list them
# in FLAKE8_OPT, for example:
# - FLAKE8_OPT='--ignore=E501'
- FLAKE8_OPT=''

matrix:
- SETUP_CMD='egg_info'
# Make sure that egg_info works without dependencies
- PYTHON_VERSION=3.7 SETUP_CMD='egg_info'
- gfortran


matrix:

# Don't wait for allowed failures
fast_finish: true

include:
# Try MacOS X
- os: osx
env: SETUP_CMD='test'

# Do a coverage test in Python 2.
- python: 2.7
# Do a coverage test.
- os: linux
env: SETUP_CMD='test --coverage'

# Sherpa 4.8.2 is the first to support python
- python: 3.5
env: SHERPA_VERSION>=4.8.2
# Check for sphinx doc build warnings - we do this first because it
# may run for a long time
- os: linux
env: SETUP_CMD='build_docs -w'
CONDA_DEPENDENCIES=$CONDA_DEPENDENCIES_DOC

# Now try Astropy dev with the latest Python and LTS with Python 2.7 and 3.x.
- os: linux
env: ASTROPY_VERSION=development
EVENT_TYPE='pull_request push cron'
- os: linux
env: ASTROPY_VERSION=lts

# Try all python versions and Numpy versions. Since we can assume that
# the Numpy developers have taken care of testing Numpy with different
# versions of Python, we can vary Python and Numpy versions at the same
# time.

- python: 3.5
env: SHERPA_VERSION>=4.8.2 ASTROPY_VERSION=dev
- os: linux
env: PYTHON_VERSION=3.5 NUMPY_VERSION=1.12
- os: linux
env: PYTHON_VERSION=3.6 NUMPY_VERSION=1.13
- os: linux
env: NUMPY_VERSION=1.14

# Testing the docs building
- python: 3.5
env: SHERPA_VERSION>=4.8.2 SETUP_CMD='build_sphinx -w'
CONDA_DEPENDENCIES='sherpa ipython'
# Try numpy pre-release
- os: linux
env: NUMPY_VERSION=prerelease
EVENT_TYPE='pull_request push cron'

# Test old numpy versions
- python: 3.5
env: SHERPA_VERSION>=4.8.2 NUMPY_VERSION=1.10
- python: 2.7
env: NUMPY_VERSION=1.9
- python: 2.7
env: NUMPY_VERSION=1.8
# Do a PEP8 test with flake8
- os: linux
env: MAIN_CMD='flake8 packagename --count --show-source --statistics $FLAKE8_OPT' SETUP_CMD=''

allow_failures:
# Do a PEP8 test with flake8
# (allow to fail unless your code completely compliant)
- os: linux
env: MAIN_CMD='flake8 packagename --count --show-source --statistics $FLAKE8_OPT' SETUP_CMD=''

install:
- git clone git://github.com/astropy/ci-helpers.git
- source ci-helpers/travis/setup_conda_$TRAVIS_OS_NAME.sh

# We now use the ci-helpers package to set up our testing environment.
# This is done by using Miniconda and then using conda and pip to install
# dependencies. Which dependencies are installed using conda and pip is
# determined by the CONDA_DEPENDENCIES and PIP_DEPENDENCIES variables,
# which should be space-delimited lists of package names. See the README
# in https://github.com/astropy/ci-helpers for information about the full
# list of environment variables that can be used to customize your
# environment. In some cases, ci-helpers may not offer enough flexibility
# in how to install a package, in which case you can have additional
# commands in the install: section below.

- git clone --depth 1 git://github.com/astropy/ci-helpers.git
- source ci-helpers/travis/setup_conda.sh

# As described above, using ci-helpers, you should be able to set up an
# environment with dependencies installed using conda and pip, but in some
# cases this may not provide enough flexibility in how to install a
# specific dependency (and it will not be able to install non-Python
# dependencies). Therefore, you can also include commands below (as
# well as at the start of the install section or in the before_install
# section if they are needed before setting up conda) to install any
# other dependencies.

script:
- python setup.py $SETUP_CMD
- $MAIN_CMD $SETUP_CMD

after_success:
- if [[ $SETUP_CMD == 'test --coverage' ]]; then
coveralls --rcfile='saba/tests/coveragerc';
fi
- if [[ $SETUP_CMD == *coverage* ]]; then coveralls --rcfile='saba/tests/coveragerc'; fi

notifications:
email: false

0 comments on commit daf28f5

Please sign in to comment.