diff --git a/.travis.yml b/.travis.yml index c30d4206..0306bff0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,13 +9,13 @@ env: - WREN_OPTIONS="" CI_ARCHS="ci_32 ci_64" - WREN_OPTIONS="-DWREN_NAN_TAGGING=0" CI_ARCHS="ci_64" -# TODO: Enable this once the TODOs in util/deploy_docs_from_travis.sh are fixed. -# jobs: -# include: -# - stage: deploy -# script: bash util/deploy_docs_from_travis.sh -# # Only deploy commits that land on master. -# if: branch = master and type = push +# Automatically build and deploy docs. +jobs: + include: + - stage: deploy + script: bash util/deploy_docs_from_travis.sh + # Only deploy commits that land on master. + if: branch = master and type = push # Travis VMs are 64-bit but we compile both for 32 and 64 bit. To enable the # 32-bit builds to work, we need gcc-multilib. diff --git a/util/deploy_docs_from_travis.sh b/util/deploy_docs_from_travis.sh index 1cb8d6a1..ae5e5b9c 100644 --- a/util/deploy_docs_from_travis.sh +++ b/util/deploy_docs_from_travis.sh @@ -1,27 +1,34 @@ #!/bin/bash - set -e +# Install the Wren Pygments lexer. +cd util/pygments-lexer +python setup.py develop +cd ../.. + +# Build the docs. make gh-pages -# TODO: This strips the syntax highlighting because the custom pygments lexer -# isn't installed. -git clone https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} gh-pages-repo +# Clone the repo at the gh-pages branch. +# TODO: Testing right now, so not using live branch. +git clone https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} gh-pages-repo \ + --branch gh-pages-temp --depth 1 cd gh-pages-repo -git checkout gh-pages +# Copy them into the gh-pages branch. rm -rf * cp -r ../build/gh-pages/* . -# TODO: Restore CNAME file that gets deleted by `rm -rf *`. +# Restore CNAME file that gets deleted by `rm -rf *`. +echo "wren.io" > "CNAME" git status ls if ! $( git diff-index --quiet HEAD ) ; then - git config user.name "Travis CI" - git config user.email "$COMMIT_AUTHOR_EMAIL" - git add --all . - git commit -m "Deploy to GitHub Pages: ${SHA}" - git push + git config user.name "Travis CI" + git config user.email "$COMMIT_AUTHOR_EMAIL" + git add --all . + git commit -m "Deploy to GitHub Pages: ${SHA}" + git push fi