cantera/.travis.yml
2018-08-20 15:10:04 -04:00

86 lines
3.6 KiB
YAML

language: cpp
sudo: false
dist: trusty
os:
- linux
- osx
addons:
apt:
packages:
- python-dev
- python-numpy
- python-pip
- python3-dev
- python3-numpy
- python3-setuptools
- gfortran
- libsundials-serial-dev
- liblapack-dev
- libblas-dev
- libboost-dev
- doxygen
- graphviz
ssh_known_hosts:
- cantera.org
env:
global:
secure: "IqQ4IVKzZbMCIVrD6t3YQDi3mEiswhTWo3AAKg2CrA+CETads/I9d0g68krKCA2xue0zm9pFVWbs5MT2F6Yq2PNsdvoN3ZMHrpXTN2ZJ7pgukgVwNuBe7B/tm6xBzSbZ4KPIanWCu3TNXsZp9EPG1rdhagAZZ+TeDYdIUKAITjYOVIiiAsqiLllsE9cAq3jkiu/JAxB0tzicxERi1RtnMfL/1d9fupP+yrExwIYo+hhAwWwghdiKzh551sowpbVFVxuOtTJfpC+vh1a/kLo/VTr4DDe6Bdkubc7beU8WZiZNVVbNoydy/qYkKuOzmXu9Llo9flMzJKswR7Szxi8nhD2zc+3pOYxJilWPYtrG4WrJr3WFTU3xZg5KsLwNpCane1uAsrj/NNtMagp+Wj1yOBMDMmHF5GAyCVEgSqY2PLISaEPOPCJV4VihaHyie1hM/A5YlD2VwkkKJTjMIP2VpaLVo9Sr3jXUIhtp/wLNleSWENX7etFjVqhwX1ldhz6+gVrn/H6oS2LwHQwlAseE9O6eqAB5ia+9duYDt7JS5F1P8QMYhz1gaJGXKWBnCEur5XHoGhZ75nyNnpmLjDOHKk5NmQQNL6ltUqg3fX7EWOjzxHlymdZ/4lg5AESj/+nBAhJJcAYRn9hHti7JLMjF6Qk/Kf3pJ6qVBHETY2KivH8="
before_script: |
echo TRAVIS_OS_NAME: $TRAVIS_OS_NAME
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update > /dev/null
brew upgrade python # Installs Python 3
brew install python@2 # Installs Python 2
brew install scons # Install SCons which *should* use Python 3
pip3 install numpy cython # Install numpy and Cython for Python 3
pip2 install numpy 3to2 # Install numpy and 3to2 for Python 2
brew install boost
else
pip2 install --user --install-option="--no-cython-compile" cython
pip2 install --user 3to2
# Install packages for the documentation
pip2 install --user sphinx sphinxcontrib-matlabdomain
# These two packages have specific bug fixes from these branches
pip2 install --user https://github.com/Cantera/doxylink/archive/fix_relative_path_source_14.tar.gz
pip2 install --user https://github.com/bryanwweber/sphinxcontrib-katex/archive/fix-options-bug.tar.gz
fi
rm -f cantera.conf
script: |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
set -e
scons build -j2 VERBOSE=y python2_package=full python3_package=full python3_cmd=/usr/bin/python3 blas_lapack_libs=lapack,blas optimize=n coverage=y
scons test
scons build sphinx_docs=y doxygen_docs=y
if [[ "${TRAVIS_PULL_REQUEST}" == "false" ]] && [[ "${TRAVIS_BRANCH}" == "master" ]] && [[ "${TRAVIS_REPO_SLUG}" == "Cantera/cantera" ]]; then
openssl aes-256-cbc -k "${ctdeploy_pass}" -in ./doc/ctdeploy_key.enc -out ./doc/ctdeploy_key -d
chmod 0600 ./doc/ctdeploy_key
RSYNC_OPTIONS=(
-avzP
--checksum
--rsh='ssh -i ./doc/ctdeploy_key'
--exclude='*.map'
--exclude='*.md5'
--exclude='/doxygen/xml'
--delete
--delete-excluded
)
RSYNC_USER="ctdeploy"
RSYNC_SERVER="cantera.org"
RSYNC_DEST="cantera/documentation/dev"
DOCS_OUTPUT_DIR="./build/docs/"
rsync "${RSYNC_OPTIONS[@]}" "${DOCS_OUTPUT_DIR}" ${RSYNC_USER}@${RSYNC_SERVER}:${RSYNC_DEST}
else
echo "Skipping documentation upload from source other than Cantera/cantera:master"
fi
else
python3 `which scons` build -j2 VERBOSE=y python2_package=full python3_package=full python2_cmd=/usr/local/opt/python@2/bin/python2 blas_lapack_libs=lapack,blas optimize=n coverage=y
python3 `which scons` test
fi
after_success: |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
bash <(curl -s https://codecov.io/bash)
fi