summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorRene Rivera <grafikrobot@gmail.com>2016-05-22 20:43:50 -0500
committerRene Rivera <grafikrobot@gmail.com>2016-05-22 20:43:50 -0500
commitdb6b81de698a8b1bc0852d1cf14793ac3ce4bca8 (patch)
tree52dcb6971a0570c4e2bdde7c40c259bebad0792a /.travis.yml
parentdfc171dc042342be7f307dead8fb78e47bc6eee1 (diff)
downloadboost-db6b81de698a8b1bc0852d1cf14793ac3ce4bca8.tar.gz
Copy/merge testing method from develop.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml193
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