From 38535926bd05b12a8a4a2629734bcb7d52ae7e50 Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Sat, 11 Mar 2017 15:03:14 +0900 Subject: [PATCH 1/5] Enabling CI services based on smart_ptr repo --- .travis.yml | 557 +++++++++++++++++++++++++++++++++++++++++++++++++++ appveyor.yml | 72 +++++++ 2 files changed, 629 insertions(+) create mode 100644 .travis.yml create mode 100644 appveyor.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..e90caa3f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,557 @@ +# Copyright 2016, 2017 Peter Dimov +# Copyright 2017 Kohei Takahashi +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +language: cpp + +sudo: false + +os: + - linux + - osx + +branches: + only: + - master + - develop + +env: + matrix: + - BOGUS_JOB=true + +matrix: + + exclude: + - env: BOGUS_JOB=true + + include: + - os: linux + compiler: g++ + env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03 + + - os: linux + compiler: g++-4.7 + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++03 + addons: + apt: + packages: + - g++-4.7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-4.7 + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-4.8 + env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++03 + addons: + apt: + packages: + - g++-4.8 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-4.8 + env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.8 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-4.9 + env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++03 + addons: + apt: + packages: + - g++-4.9 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-4.9 + env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.9 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-5 + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++03 + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-5 + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11 + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-5 + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14 + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-5 + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++1z + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-6 + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++03 + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-6 + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11 + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-6 + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14 + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-6 + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + dist: trusty + compiler: g++-7 + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++03 + addons: + apt: + packages: + - g++-7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + dist: trusty + compiler: g++-7 + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++11 + addons: + apt: + packages: + - g++-7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + dist: trusty + compiler: g++-7 + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++14 + addons: + apt: + packages: + - g++-7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + dist: trusty + compiler: g++-7 + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++17 + addons: + apt: + packages: + - g++-7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 + + - os: linux + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11 + + - os: linux + compiler: clang++-3.5 + env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.5 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + + - os: linux + compiler: clang++-3.5 + env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.5 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + + - os: linux + compiler: clang++-3.5 + env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++14 + addons: + apt: + packages: + - clang-3.5 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + + - os: linux + compiler: clang++-3.5 + env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++1z + addons: + apt: + packages: + - clang-3.5 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + + - os: linux + compiler: clang++-3.6 + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.6 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.6 + + - os: linux + compiler: clang++-3.6 + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.6 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.6 + + - os: linux + compiler: clang++-3.6 + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++14 + addons: + apt: + packages: + - clang-3.6 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.6 + + - os: linux + compiler: clang++-3.6 + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++1z + addons: + apt: + packages: + - clang-3.6 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.6 + + - os: linux + compiler: clang++-3.7 + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + + - os: linux + compiler: clang++-3.7 + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + + - os: linux + compiler: clang++-3.7 + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++14 + addons: + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + + - os: linux + compiler: clang++-3.7 + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++1z + addons: + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + + - os: linux + compiler: clang++-3.8 + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + + - os: linux + compiler: clang++-3.8 + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + + - os: linux + compiler: clang++-3.8 + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14 + addons: + apt: + packages: + - clang-3.8 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + + - os: linux + compiler: clang++-3.8 + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z + addons: + apt: + packages: + - clang-3.8 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + + - os: linux + compiler: clang++-3.9 + env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.9 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.9 + + - os: linux + compiler: clang++-3.9 + env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.9 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.9 + + - os: linux + compiler: clang++-3.9 + env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++14 + addons: + apt: + packages: + - clang-3.9 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.9 + + - os: linux + compiler: clang++-3.9 + env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z + addons: + apt: + packages: + - clang-3.9 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.9 + + - os: linux + compiler: clang++-4.0 + env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++03 + addons: + apt: + packages: + - clang-4.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-4.0 + + - os: linux + compiler: clang++-4.0 + env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++11 + addons: + apt: + packages: + - clang-4.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-4.0 + + - os: linux + compiler: clang++-4.0 + env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++14 + addons: + apt: + packages: + - clang-4.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-4.0 + + - os: linux + compiler: clang++-4.0 + env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++1z + addons: + apt: + packages: + - clang-4.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-4.0 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z + +install: + - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true + - cd .. + - git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root + - cd boost-root + + - git submodule init libs/assert + - git submodule init libs/bind + - git submodule init libs/concept_check + - git submodule init libs/config + - git submodule init libs/conversion + - git submodule init libs/core + - git submodule init libs/detail + - git submodule init libs/function + - git submodule init libs/function_types + - git submodule init libs/functional + - git submodule init libs/integer + - git submodule init libs/iterator + - git submodule init libs/move + - git submodule init libs/mpl + - git submodule init libs/optional + - git submodule init libs/predef + - git submodule init libs/preprocessor + - git submodule init libs/smart_ptr + - git submodule init libs/static_assert + - git submodule init libs/throw_exception + - git submodule init libs/tuple + - git submodule init libs/type_index + - git submodule init libs/type_traits + - git submodule init libs/typeof + - git submodule init libs/utility + + - git submodule init tools/build + - git submodule update --depth 1 + - ln -sfT $TRAVIS_BUILD_DIR libs/fusion + + - ./bootstrap.sh + - ./b2 headers + +script: + - |- + echo "using $TOOLSET : : $COMPILER : -std=$CXXSTD ;" > ~/user-config.jam + - ./b2 libs/fusion/test toolset=$TOOLSET + +notifications: + email: + on_success: always diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..37da355f --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,72 @@ +# Copyright 2016, 2017 Peter Dimov +# Copyright 2017 Kohei Takahashi +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +version: 1.0.{build}-{branch} + +shallow_clone: true + +branches: + only: + - master + - develop + +environment: + matrix: + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + TOOLSET: msvc-9.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + TOOLSET: msvc-10.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + TOOLSET: msvc-11.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + TOOLSET: msvc-12.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + TOOLSET: msvc-14.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLSET: msvc-14.1 + +install: + - set BOOST_BRANCH=develop + - if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master + - cd .. + - git clone --depth 1 -b %BOOST_BRANCH% https://github.com/boostorg/boost.git boost-root + - cd boost-root + + - git submodule init libs/assert + - git submodule init libs/bind + - git submodule init libs/concept_check + - git submodule init libs/config + - git submodule init libs/conversion + - git submodule init libs/core + - git submodule init libs/detail + - git submodule init libs/function + - git submodule init libs/function_types + - git submodule init libs/functional + - git submodule init libs/integer + - git submodule init libs/iterator + - git submodule init libs/move + - git submodule init libs/mpl + - git submodule init libs/optional + - git submodule init libs/predef + - git submodule init libs/preprocessor + - git submodule init libs/smart_ptr + - git submodule init libs/static_assert + - git submodule init libs/throw_exception + - git submodule init libs/tuple + - git submodule init libs/type_index + - git submodule init libs/type_traits + - git submodule init libs/typeof + - git submodule init libs/utility + + - git submodule init tools/build + - git submodule update --depth 1 + - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\fusion + - cmd /c bootstrap + - b2 headers + +build: off + +test_script: + - b2 libs/fusion/test toolset=%TOOLSET% From e4b12332629cae692d36067a8f776131c97b7715 Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Fri, 13 Oct 2017 12:46:54 +0900 Subject: [PATCH 2/5] Fixed directory hijacking error. --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index e90caa3f..c071c588 100644 --- a/.travis.yml +++ b/.travis.yml @@ -542,6 +542,8 @@ install: - git submodule init tools/build - git submodule update --depth 1 + + - rm -rf libs/fusion - ln -sfT $TRAVIS_BUILD_DIR libs/fusion - ./bootstrap.sh From 6bef7c98b2112b3d3ec3b118387fe1c185eb7e77 Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Fri, 13 Oct 2017 13:12:08 +0900 Subject: [PATCH 3/5] Fixed missing modules. --- .travis.yml | 2 ++ appveyor.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index c071c588..8f4c066e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -514,6 +514,7 @@ install: - git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root - cd boost-root + - git submodule init libs/array - git submodule init libs/assert - git submodule init libs/bind - git submodule init libs/concept_check @@ -526,6 +527,7 @@ install: - git submodule init libs/functional - git submodule init libs/integer - git submodule init libs/iterator + - git submodule init libs/lambda - git submodule init libs/move - git submodule init libs/mpl - git submodule init libs/optional diff --git a/appveyor.yml b/appveyor.yml index 37da355f..82c1bedf 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -34,6 +34,7 @@ install: - git clone --depth 1 -b %BOOST_BRANCH% https://github.com/boostorg/boost.git boost-root - cd boost-root + - git submodule init libs/array - git submodule init libs/assert - git submodule init libs/bind - git submodule init libs/concept_check @@ -46,6 +47,7 @@ install: - git submodule init libs/functional - git submodule init libs/integer - git submodule init libs/iterator + - git submodule init libs/lambda - git submodule init libs/move - git submodule init libs/mpl - git submodule init libs/optional From 80a86fbcd4165a9494180381ebb68b7f7a8704ad Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Fri, 13 Oct 2017 13:15:38 +0900 Subject: [PATCH 4/5] Move instead of link bjam may confuse relative path. --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8f4c066e..4d01df29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -546,7 +546,8 @@ install: - git submodule update --depth 1 - rm -rf libs/fusion - - ln -sfT $TRAVIS_BUILD_DIR libs/fusion + - mv $TRAVIS_BUILD_DIR libs/fusion + - ln -sfT $(pwd)/libs/fusion $TRAVIS_BUILD_DIR - ./bootstrap.sh - ./b2 headers From e97f58749f72a56c4e7f8e00a46f06ec65a5c6b0 Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Fri, 13 Oct 2017 14:46:30 +0900 Subject: [PATCH 5/5] Reduce ln flags BSD coreutils doesn't know -T switch. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4d01df29..842a89f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -547,7 +547,7 @@ install: - rm -rf libs/fusion - mv $TRAVIS_BUILD_DIR libs/fusion - - ln -sfT $(pwd)/libs/fusion $TRAVIS_BUILD_DIR + - ln -s $(pwd)/libs/fusion $TRAVIS_BUILD_DIR - ./bootstrap.sh - ./b2 headers