| # Use, modification, and distribution are |
| # 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 2019-2020. |
| |
| trigger: |
| branches: |
| include: |
| - develop |
| - master |
| - feature/* |
| pr: |
| branches: |
| include: |
| - develop |
| |
| variables: |
| AZP: 1 |
| AZP_REPO_DIR: $(Build.Repository.LocalPath) |
| AZP_BRANCH: $(Build.SourceBranch) |
| AZP_BRANCH_NAME: $(Build.SourceBranchName) |
| AZP_COMMIT: $(Build.SourceVersion) |
| AZP_REPO: $(Build.Repository.Name) |
| AZP_PULL_REQUEST: $(System.PullRequest.PullRequestNumber) |
| |
| stages: |
| |
| - stage: Test |
| jobs: |
| |
| - job: 'Linux' |
| strategy: |
| matrix: |
| GCC 10 (GNU): { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=gnu' } |
| GCC 10 (ISO): { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=iso' } |
| GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc } |
| GCC 9: { CXX: g++-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc } |
| GCC 8: { CXX: g++-8, PACKAGES: g++-8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc } |
| GCC 7: { CXX: g++-7, PACKAGES: g++-7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc } |
| GCC 6: { CXX: g++-6, PACKAGES: g++-6, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc } |
| GCC 5: { CXX: g++-5, PACKAGES: g++-5, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc } |
| GCC 4.9: { CXX: g++-4.9, PACKAGES: g++-4.9, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc } |
| GCC 4.8: { CXX: g++-4.8, PACKAGES: g++-4.8, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc } |
| GCC 4.7: { CXX: g++-4.7, PACKAGES: g++-4.7, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc } |
| Clang 11: { CXX: clang++-11, PACKAGES: clang-11, LLVM_OS: bionic, LLVM_VER: 11, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 10: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 9: { CXX: clang++-9, PACKAGES: clang-9, LLVM_OS: bionic, LLVM_VER: 9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 8: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 7: { CXX: clang++-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 6.0: { CXX: clang++-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 5.0: { CXX: clang++-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 4.0: { CXX: clang++-4.0, PACKAGES: clang-4.0, LLVM_OS: xenial, LLVM_VER: 4.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 3.9: { CXX: clang++-3.9, PACKAGES: clang-3.9, LLVM_OS: xenial, LLVM_VER: 3.9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang } |
| Clang 3.8: { CXX: clang++-3.8, PACKAGES: clang-3.8, LLVM_OS: xenial, LLVM_VER: 3.8, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang } |
| Clang 3.7: { CXX: clang++-3.7, PACKAGES: clang-3.7, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang } |
| Clang 3.6: { CXX: clang++-3.6, PACKAGES: clang-3.6, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang } |
| Clang 3.5: { CXX: clang++-3.5, PACKAGES: clang-3.5, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang } |
| pool: |
| vmImage: $(VM_IMAGE) |
| steps: |
| - bash: | |
| set -e |
| uname -a |
| ./tools/ci/linux-cxx-install.sh |
| displayName: 'Install CXX' |
| - bash: | |
| set -e |
| pushd ${HOME} |
| wget -nv https://github.com/boostorg/build/archive/develop.tar.gz |
| tar -zxf develop.tar.gz |
| cd build-develop |
| CXX= ./bootstrap.sh |
| sudo ./b2 install |
| popd |
| displayName: 'Install B2' |
| - bash: | |
| set -e |
| CXX_PATH=`which ${CXX}` |
| echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam |
| pushd test |
| b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info |
| b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers |
| popd |
| displayName: Test |
| |
| - job: 'macOS' |
| strategy: |
| matrix: |
| Xcode 11.4.1: |
| TOOLSET: clang |
| CXX: clang++ |
| XCODE_APP: /Applications/Xcode_11.4.1.app |
| VM_IMAGE: 'macOS-10.15' |
| Xcode 11.3.1: |
| TOOLSET: clang |
| CXX: clang++ |
| XCODE_APP: /Applications/Xcode_11.3.1.app |
| VM_IMAGE: 'macOS-10.15' |
| Xcode 11.2.1: |
| TOOLSET: clang |
| CXX: clang++ |
| XCODE_APP: /Applications/Xcode_11.2.1.app |
| VM_IMAGE: 'macOS-10.15' |
| Xcode 10.3: |
| TOOLSET: clang |
| CXX: clang++ |
| XCODE_APP: /Applications/Xcode_10.3.app |
| VM_IMAGE: 'macOS-10.14' |
| Xcode 10.2.1: |
| TOOLSET: clang |
| CXX: clang++ |
| XCODE_APP: /Applications/Xcode_10.2.1.app |
| VM_IMAGE: 'macOS-10.14' |
| Xcode 10.1: |
| TOOLSET: clang |
| CXX: clang++ |
| XCODE_APP: /Applications/Xcode_10.1.app |
| VM_IMAGE: 'macOS-10.14' |
| Xcode 10.0: |
| TOOLSET: clang |
| CXX: clang++ |
| XCODE_APP: /Applications/Xcode_10.app |
| VM_IMAGE: 'macOS-10.14' |
| pool: |
| vmImage: $(VM_IMAGE) |
| steps: |
| - bash: | |
| set -e |
| uname -a |
| sudo xcode-select -switch ${XCODE_APP} |
| which clang++ |
| clang++ --version |
| displayName: 'Install CXX' |
| - bash: | |
| set -e |
| pushd ${HOME} |
| wget -nv https://github.com/boostorg/build/archive/develop.tar.gz |
| tar -zxf develop.tar.gz |
| cd build-develop |
| CXX= ./bootstrap.sh |
| sudo ./b2 install |
| popd |
| displayName: 'Install B2' |
| - bash: | |
| set -e |
| CXX_PATH=`which ${CXX}` |
| echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam |
| pushd test |
| b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info |
| b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers |
| popd |
| displayName: Test |
| |
| - job: 'Windows' |
| strategy: |
| matrix: |
| VS 2019: |
| TOOLSET: msvc |
| TOOLSET_VERSION: 14.2 |
| B2_ARGS: address-model=32,64 cxxstd=14,latest |
| VM_IMAGE: 'windows-2019' |
| VS 2019 (UWP DESKTOP): |
| TOOLSET: msvc |
| TOOLSET_VERSION: 14.2 |
| B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP |
| VM_IMAGE: 'windows-2019' |
| VS 2019 (UWP PHONE): |
| TOOLSET: msvc |
| TOOLSET_VERSION: 14.2 |
| B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP |
| VM_IMAGE: 'windows-2019' |
| VS 2019 (UWP STORE): |
| TOOLSET: msvc |
| TOOLSET_VERSION: 14.2 |
| B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP |
| VM_IMAGE: 'windows-2019' |
| VS 2019 (UWP SERVER): |
| TOOLSET: msvc |
| TOOLSET_VERSION: 14.2 |
| B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SERVER |
| VM_IMAGE: 'windows-2019' |
| VS 2019 (UWP SYSTEM): |
| TOOLSET: msvc |
| TOOLSET_VERSION: 14.2 |
| B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SYSTEM |
| VM_IMAGE: 'windows-2019' |
| VS 2017: |
| TOOLSET: msvc |
| TOOLSET_VERSION: 14.1 |
| VM_IMAGE: 'vs2017-win2016' |
| MinGW 8.1.0: |
| TOOLSET: gcc |
| VM_IMAGE: 'windows-2019' |
| MinGW 8.1.0 (UWP DESKTOP): |
| TOOLSET: gcc |
| B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP |
| VM_IMAGE: 'windows-2019' |
| MinGW 8.1.0 (UWP STORE): |
| TOOLSET: gcc |
| B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP |
| VM_IMAGE: 'windows-2019' |
| pool: |
| vmImage: $(VM_IMAGE) |
| steps: |
| - script: | |
| cd %BUILD_SOURCESDIRECTORY%/.. |
| curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip |
| displayName: Download B2 |
| - task: ExtractFiles@1 |
| inputs: |
| archiveFilePatterns: $(Build.SourcesDirectory)/../b2.zip |
| destinationFolder: $(Build.SourcesDirectory)/.. |
| cleanDestinationFolder: false |
| displayName: Extract B2 |
| - script: | |
| echo using %TOOLSET% ^: %TOOLSET_VERSION% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam |
| cd %BUILD_SOURCESDIRECTORY%/../build-develop |
| cmd.exe /c bootstrap.bat |
| displayName: Install B2 |
| - script: | |
| set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../build-develop |
| cd %BUILD_SOURCESDIRECTORY%/test |
| %BUILD_SOURCESDIRECTORY%/../build-develop/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info |
| %BUILD_SOURCESDIRECTORY%/../build-develop/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers |
| displayName: Test |