[Doc/CI] Build the docs after testing and upload to cantera.org

Use an ssh key with write access to cantera.org to rsync the built docs. Only
runs on non-pull-request builds of the master branch.

The sphinxcontrib-doxylink and sphinxcontrib-katex packages have bugs
that are fixed in our forks, so we have to install from the forks.
This commit is contained in:
Bryan W. Weber 2018-07-20 20:01:10 -04:00 committed by Ray Speth
parent d33e67c36c
commit 7e1b6a1489
3 changed files with 37 additions and 0 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
doc/ctdeploy_key
*~
*.o
*.so

View file

@ -18,6 +18,16 @@ addons:
- 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
@ -31,12 +41,38 @@ before_script: |
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" ]]; 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'
--delete
--delete-excluded
)
RSYNC_USER="ctdeploy"
RSYNC_SERVER="cantera.org"
RSYNC_DEST="testing.cantera.org/documentation/dev"
DOCS_OUTPUT_DIR="./build/docs/"
rsync "${RSYNC_OPTIONS[@]}" "${DOCS_OUTPUT_DIR}" ${RSYNC_USER}@${RSYNC_SERVER}:${RSYNC_DEST}
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

BIN
doc/ctdeploy_key.enc Normal file

Binary file not shown.