diff options
author | Rene Rivera <grafikrobot@gmail.com> | 2016-05-22 20:43:50 -0500 |
---|---|---|
committer | Rene Rivera <grafikrobot@gmail.com> | 2016-05-22 20:43:50 -0500 |
commit | db6b81de698a8b1bc0852d1cf14793ac3ce4bca8 (patch) | |
tree | 52dcb6971a0570c4e2bdde7c40c259bebad0792a /.travis.yml | |
parent | dfc171dc042342be7f307dead8fb78e47bc6eee1 (diff) | |
download | boost-db6b81de698a8b1bc0852d1cf14793ac3ce4bca8.tar.gz |
Copy/merge testing method from develop.
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 193 |
1 files changed, 11 insertions, 182 deletions
diff --git a/.travis.yml b/.travis.yml index cc78a71911..14a65abe10 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ # subject to the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) # -# Copyright Rene Rivera 2015. +# Copyright Rene Rivera 2015-2016. branches: only: @@ -54,191 +54,20 @@ matrix: # Build release package for CRLF end-of-line style text files (i.e. for Windows). - env: RELEASE_BUILD=CRLF -install: - # Set where we will place all our build byproducts. - - | - export "BOOST_BUILD_DIR=${TRAVIS_BUILD_DIR}/../build" - - # We use RapidXML for some doc building tools. - - | - cd "${TRAVIS_BUILD_DIR}/.." - wget -O rapidxml.zip http://sourceforge.net/projects/rapidxml/files/latest/download - unzip -n -d rapidxml rapidxml.zip - export RAPIDXML=`ls -1d ${PWD}/rapidxml/rapidxml-*` - # Need docutils for building some docs. - - | - sudo pip install docutils - -before_script: - # Fail the whole script whenever any command fails - - | - set -e - - # Fetch the rest of the Boost submodules in the appropriate - # EOL style. - - | - if [[ "${STATUS_TESTS}" == "true" ]]; then - cd "${TRAVIS_BUILD_DIR}" - git submodule update --init --recursive - fi - - | - if [[ "${RELEASE_BUILD}" == "LF" ]]; then - cd "${TRAVIS_BUILD_DIR}" - git config --global core.eol lf - git config --global core.autocrlf input - git rm --cache -r . - git reset --quiet --hard HEAD - git submodule update --init --recursive - fi - - | - if [[ "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}" - git config --global core.eol crlf - git config --global core.autocrlf true - git rm --cache -r . - git reset --quiet --hard HEAD - git submodule update --init --recursive - fi - -script: - # Simple integrated status tests check. Currently this only - # veryfies that we will not get build system errors from things - # like missing test files. +before_install: + # Fetch the script to do the actual building/testing. - | if [[ "${STATUS_TESTS}" == "true" ]]; then - cd "${TRAVIS_BUILD_DIR}" - ./bootstrap.sh - ./b2 -n - cd status - ../b2 -n -d0 - fi - - # Build a packaged release. This involves building a fresh set - # of docs and selectively packging parts of the tree. We try and - # avoid creating extra files in the base tree to avoid including - # extra stuff in the archives. Which means that we reset the git - # tree state to cleanup after building. - - # Set up where we will "install" built tools. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - mkdir -p "${BOOST_BUILD_DIR}/dist/bin" - export "PATH=${BOOST_BUILD_DIR}/dist/bin:${PATH}" - fi - - # Bootstrap Boost Build engine. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/tools/build" - ./bootstrap.sh - cp -p b2 "${BOOST_BUILD_DIR}/dist/bin/b2" - git clean -dfqx - fi - - # Generate include dir structure. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}" - b2 -q -d0 -j2 headers - fi - - # Build doxygen_xml2qbk for building Boost Geometry docs. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk" - b2 -q -d0 -j2 --build-dir="${BOOST_BUILD_DIR}" --distdir="${BOOST_BUILD_DIR}/dist" - cd "${TRAVIS_BUILD_DIR}/libs/geometry" - git clean -dfqx - fi - - # Build Quickbook documentation tool. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/tools/quickbook" - b2 -q -d0 -j2 --build-dir="${BOOST_BUILD_DIR}" --distdir="${BOOST_BUILD_DIR}/dist" - git clean -dfqx - fi - - # Build auto-index documentation tool. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/tools/auto_index/build" - b2 -q -d0 -j2 --build-dir="${BOOST_BUILD_DIR}" --distdir="${BOOST_BUILD_DIR}/dist" - cd "${TRAVIS_BUILD_DIR}/tools/auto_index" - git clean -dfqx - fi - - # Set up build config. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - echo "using quickbook : \"${BOOST_BUILD_DIR}/dist/bin/quickbook\" ;" >> "${HOME}/user-config.jam" - echo "using auto-index : \"${BOOST_BUILD_DIR}/dist/bin/auto_index\" ;" >> "${HOME}/user-config.jam" - echo "using docutils ;" >> "${HOME}/user-config.jam" - echo "using doxygen ;" >> "${HOME}/user-config.jam" - fi - - # Pre-build Boost Geometry docs. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/libs/geometry/doc" - python make_qbk.py --release-build - fi - - # Build the full docs, and all the submodule docs. - - | - if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/doc" - (while true ; do sleep 60 && echo "[[ ALIVE? ]]" ; done ;) & - AWAKE_PID=$! - b2 -q -d0 -j2 --build-dir="${BOOST_BUILD_DIR}" --distdir="${BOOST_BUILD_DIR}/dist" --release-build --enable-index - kill $AWAKE_PID + wget "https://raw.githubusercontent.com/boostorg/release-tools/develop/ci_boost_status.py" -O ../script.py fi - - # Make the real distribution tree from the base tree. The - # distribution tree is "marked" with the commit hash to be - # able to track a package to the commit we test. - | if [[ "${RELEASE_BUILD}" == "LF" || "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/.." - wget "https://raw.githubusercontent.com/boostorg/release-tools/develop/MakeBoostDistro.py" - chmod +x MakeBoostDistro.py - export BOOST_RELEASE=boost_1_61_0 - ./MakeBoostDistro.py "${TRAVIS_BUILD_DIR}" "${BOOST_RELEASE}" - fi - - # Create packages for LF style content. - - | - if [[ "${RELEASE_BUILD}" == "LF" ]]; then - cd "${TRAVIS_BUILD_DIR}/.." - tar -zcf "${BOOST_RELEASE}.tar.gz" "${BOOST_RELEASE}" - tar -cjf "${BOOST_RELEASE}.tar.bz2" "${BOOST_RELEASE}" - ls -la - fi - - # Create packages for CRLF style content. - - | - if [[ "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/.." - zip -qr "${BOOST_RELEASE}.zip" "${BOOST_RELEASE}" - 7z a -r "${BOOST_RELEASE}.7z" "${BOOST_RELEASE}" > /dev/null - ls -la + wget "https://raw.githubusercontent.com/boostorg/release-tools/develop/ci_boost_release.py" -O ../script.py fi -after_success: - # Publish created packages depending on the EOL style and branch. - # We post archives to distribution services. But currently we only - # post master packages as they happen less often. And we are - # unlikely to ever want anything else as a package for the - # releases. - - | - if [[ "${TRAVIS_BRANCH}" == "master" && "${RELEASE_BUILD}" == "LF" ]]; then - cd "${TRAVIS_BUILD_DIR}/.." - curl -T "${BOOST_RELEASE}.tar.gz" "-ugrafikrobot:${BINTRAY}" "https://api.bintray.com/content/boostorg/snapshots/${TRAVIS_BRANCH}/${TRAVIS_COMMIT}/${BOOST_RELEASE}.tar.gz?publish=1&override=1" - curl -T "${BOOST_RELEASE}.tar.bz2" "-ugrafikrobot:${BINTRAY}" "https://api.bintray.com/content/boostorg/snapshots/${TRAVIS_BRANCH}/${TRAVIS_COMMIT}/${BOOST_RELEASE}.tar.bz2?publish=1&override=1" - fi - - | - if [[ "${TRAVIS_BRANCH}" == "master" && "${RELEASE_BUILD}" == "CRLF" ]]; then - cd "${TRAVIS_BUILD_DIR}/.." - curl -T "${BOOST_RELEASE}.zip" "-ugrafikrobot:${BINTRAY}" "https://api.bintray.com/content/boostorg/snapshots/${TRAVIS_BRANCH}/${TRAVIS_COMMIT}/${BOOST_RELEASE}.zip?publish=1&override=1" - curl -T "${BOOST_RELEASE}.7z" "-ugrafikrobot:${BINTRAY}" "https://api.bintray.com/content/boostorg/snapshots/${TRAVIS_BRANCH}/${TRAVIS_COMMIT}/${BOOST_RELEASE}.7z?publish=1&override=1" - fi +install: python "${TRAVIS_BUILD_DIR}/../script.py" install +before_script: python "${TRAVIS_BUILD_DIR}/../script.py" before_script +script: python "${TRAVIS_BUILD_DIR}/../script.py" script +after_success: python "${TRAVIS_BUILD_DIR}/../script.py" after_success +after_failure: python "${TRAVIS_BUILD_DIR}/../script.py" after_failure +after_script: python "${TRAVIS_BUILD_DIR}/../script.py" after_script |