227 lines
9.0 KiB
YAML
227 lines
9.0 KiB
YAML
# 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
|