2
0
mirror of https://github.com/boostorg/build.git synced 2026-01-19 04:02:14 +00:00
Files
build/azure-pipelines.yml
René Ferdinand Rivera Morell 2c4bcaa778 Add Boost 1.90 to testing.
2025-12-13 11:26:00 -06:00

607 lines
36 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 Ferdinand Rivera Morell 2015-2021.
trigger:
branches:
include:
- main
- release
- feature/*
- version/*
paths:
exclude:
- .circleci/*
- .cirrus.yml
- .drone.star
- .github/workflows/*
- .semaphore/*
- .travis.yml
- appveyor.yml
- README.*
pr:
branches:
include:
- main
- version/*
paths:
exclude:
- appveyor.yml
variables:
- { name: linux_latest_vm, value: 'ubuntu-24.04' }
- { name: linux_latest_os, value: 'noble' }
- { name: windows_latest_vm, value: 'windows-2022' }
- { name: clang_latest, value: '21' }
- { name: clang_latest_libstdcxx, value: '12' }
- { name: gcc_latest, value: '14' }
- { name: vc_latest, value: 'vc143' }
- { name: vs_latest, value: '2022' }
- { name: xc_latest, value: '16.4' }
- { name: macos_latest_vm, value: 'macOS-15' }
- { name: co_options, value: '--name container' }
resources:
containers:
- { container: ubuntu_2404,
image: 'ubuntu:24.04',
options: "${{variables.co_options}}" }
- { container: ubuntu_2204,
image: 'ubuntu:22.04',
options: "${{variables.co_options}}" }
- { container: ubuntu_1804,
image: 'ubuntu:18.04',
options: "${{variables.co_options}}",
volumes: [
"/node20217:/node20217:rw,rshared",
"/node20217:/__e/node20:ro,rshared" ] }
- { container: ubuntu_1604,
image: 'ubuntu:16.04',
options: "${{variables.co_options}}",
volumes: [
"/node20217:/node20217:rw,rshared",
"/node20217:/__e/node20:ro,rshared" ] }
- { container: linux_gcc15, image: 'teeks99/gcc-ubuntu:15', options: "${{variables.co_options}}" }
- { container: linux_gcc14, image: 'teeks99/gcc-ubuntu:14', options: "${{variables.co_options}}" }
- { container: linux_gcc13, image: 'teeks99/gcc-ubuntu:13', options: "${{variables.co_options}}" }
- { container: linux_gcc12, image: 'teeks99/gcc-ubuntu:12', options: "${{variables.co_options}}" }
- { container: linux_gcc11, image: 'teeks99/gcc-ubuntu:11', options: "${{variables.co_options}}" }
- { container: linux_gcc10, image: 'teeks99/gcc-ubuntu:10', options: "${{variables.co_options}}" }
- { container: linux_gcc9, image: 'teeks99/gcc-ubuntu:9', options: "${{variables.co_options}}" }
- { container: linux_gcc8, image: 'teeks99/gcc-ubuntu:8', options: "${{variables.co_options}}" }
- { container: linux_gcc7, image: 'teeks99/gcc-ubuntu:7', options: "${{variables.co_options}}" }
- { container: linux_gcc6, image: 'teeks99/gcc-ubuntu:6', options: "${{variables.co_options}}" }
- { container: linux_gcc5, image: 'teeks99/gcc-ubuntu:5', options: "${{variables.co_options}}" }
- { container: linux_gcc49, image: 'teeks99/gcc-ubuntu:4.9', options: "${{variables.co_options}}" }
- { container: linux_gcc48, image: 'teeks99/gcc-ubuntu:4.8', options: "${{variables.co_options}}" }
- { container: linux_clang21, image: 'teeks99/clang-ubuntu:21', options: "${{variables.co_options}}" }
- { container: linux_clang20, image: 'teeks99/clang-ubuntu:20', options: "${{variables.co_options}}" }
- { container: linux_clang19, image: 'teeks99/clang-ubuntu:19', options: "${{variables.co_options}}" }
- { container: linux_clang18, image: 'teeks99/clang-ubuntu:18', options: "${{variables.co_options}}" }
- { container: linux_clang17, image: 'teeks99/clang-ubuntu:17', options: "${{variables.co_options}}" }
- { container: linux_clang16, image: 'teeks99/clang-ubuntu:16', options: "${{variables.co_options}}" }
- { container: linux_clang15, image: 'teeks99/clang-ubuntu:15', options: "${{variables.co_options}}" }
- { container: linux_clang14, image: 'teeks99/clang-ubuntu:14', options: "${{variables.co_options}}" }
- { container: linux_clang13, image: 'teeks99/clang-ubuntu:13', options: "${{variables.co_options}}" }
- { container: linux_clang12, image: 'teeks99/clang-ubuntu:12', options: "${{variables.co_options}}" }
- { container: linux_clang11, image: 'teeks99/clang-ubuntu:11', options: "${{variables.co_options}}" }
- { container: linux_clang10, image: 'teeks99/clang-ubuntu:10', options: "${{variables.co_options}}" }
- { container: linux_clang9, image: 'teeks99/clang-ubuntu:9', options: "${{variables.co_options}}" }
- { container: linux_clang8, image: 'teeks99/clang-ubuntu:8', options: "${{variables.co_options}}" }
- { container: linux_clang7, image: 'teeks99/clang-ubuntu:7', options: "${{variables.co_options}}" }
- { container: linux_clang6, image: 'teeks99/clang-ubuntu:6', options: "${{variables.co_options}}" }
- { container: linux_clang5, image: 'teeks99/clang-ubuntu:5', options: "${{variables.co_options}}" }
- { container: linux_clang4, image: 'teeks99/clang-ubuntu:4', options: "${{variables.co_options}}" }
- { container: linux_clang3, image: 'teeks99/clang-ubuntu:3.9', options: "${{variables.co_options}}" }
stages:
- stage: Core
dependsOn: []
jobs:
- job: 'Linux_Default_Build'
strategy:
matrix:
Clang ${{variables.clang_latest}}: {TOOLSET: "clang-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}", LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: "${{variables.clang_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
./.ci/linux-cxx-install.sh
displayName: Install
- bash: |
set -e
./src/engine/build.sh --verbose
displayName: Build
- job: 'Linux_Clang_Only_Build'
strategy:
matrix:
Clang ${{variables.clang_latest}}: {TOOLSET: "clang-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}", LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: "${{variables.clang_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
./.ci/linux-cxx-install.sh
sudo apt remove gcc g++
displayName: Install
- bash: |
set -e
./src/engine/build.sh --verbose
displayName: Build
- job: 'Linux_Latest'
strategy:
matrix:
GCC ${{variables.gcc_latest}}: {TOOLSET: "gcc-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}-multilib", VM_IMAGE: "${{variables.linux_latest_vm}}"}
Clang ${{variables.clang_latest}}: {TOOLSET: "clang-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}} libstdc++-${{variables.clang_latest_libstdcxx}}-dev-i386-cross", LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: "${{variables.clang_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- template: .ci/azp-linux-test.yml
parameters:
b2_opts: address-model=32,64
- job: 'Windows_Latest'
strategy:
matrix:
VS ${{variables.vs_latest}}: {TOOLSET: "${{variables.vc_latest}}", TEST_TOOLSET: msvc, VM_IMAGE: "${{variables.windows_latest_vm}}", PREP_CMD: "echo noop"}
Clang (VS${{variables.vs_latest}}): {TOOLSET: clang-win, TEST_TOOLSET: clang-win, VM_IMAGE: "${{variables.windows_latest_vm}}", PREP_CMD: "choco upgrade llvm"}
pool:
vmImage: $(VM_IMAGE)
continueOnError: 'true'
steps:
- template: .ci/azp-windows-test.yml
parameters:
b2_opts: address-model=32,64
prep_cmd: $(PREP_CMD)
- job: 'macOS'
strategy:
matrix:
Xcode ${{variables.xc_latest}}: {XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app", VM_IMAGE: "${{variables.macos_latest_vm}}"}
# GCC ${{variables.gcc_latest}}: {TOOLSET: "gcc-${{variables.gcc_latest}}", XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app", VM_IMAGE: "${{variables.macos_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- template: .ci/azp-macos-test.yml
- job: 'Linux_Sanitzer'
strategy:
matrix:
Address (GCC ${{variables.gcc_latest}}): {SANITIZER: "address-sanitizer", TOOLSET: "gcc-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
Thread (GCC ${{variables.gcc_latest}}): {SANITIZER: "thread-sanitizer", TOOLSET: "gcc-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
UB (GCC ${{variables.gcc_latest}}): {SANITIZER: "undefined-sanitizer", TOOLSET: "gcc-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
continueOnError: 'true'
steps:
- template: .ci/azp-linux-sanitizer-test.yml
- stage: Extra
dependsOn: []
jobs:
- job: 'macOS'
strategy:
matrix:
Xcode ${{variables.xc_latest}} arm+x86/64: {
B2_ARGS: "architecture=arm+x86 address-model=64",
XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app", VM_IMAGE: "${{variables.macos_latest_vm}}"}
Xcode ${{variables.xc_latest}} arm/64: {
B2_ARGS: "architecture=arm address-model=64",
XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app", VM_IMAGE: "${{variables.macos_latest_vm}}"}
Xcode ${{variables.xc_latest}} x86/64: {
B2_ARGS: "architecture=x86 address-model=64",
XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app", VM_IMAGE: "${{variables.macos_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- template: .ci/azp-macos-extra.yml
- job: 'Linux'
strategy:
matrix:
Clang ${{variables.clang_latest}} x86/64: {
B2_ARGS: "architecture=x86 address-model=64",
TOOLSET: "clang-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}",
LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: "${{variables.clang_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# Clang ${{variables.clang_latest}} x86/32: {
# B2_ARGS: "architecture=x86 address-model=32",
# TOOLSET: "clang-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}",
# LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: "${{variables.clang_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- template: .ci/azp-linux-extra.yml
- job: 'Windows'
strategy:
matrix:
MinGW 8.1.0: {TOOLSET: mingw, TEST_TOOLSET: gcc, VM_IMAGE: 'windows-2022'}
pool:
vmImage: $(VM_IMAGE)
steps:
- powershell: |
Set-PSDebug -Trace 1
cd src/engine
$env:HOME = $env:HOMEDRIVE + $env:HOMEPATH
$env:path += ';' + $env:CXX_PATH
cmd /c build.bat $env:TOOLSET
./b2.exe -v
displayName: Build
- stage: Website_Update
dependsOn: [Core, Extra]
displayName: 'Website Update'
condition: in(variables['Build.SourceBranch'], 'refs/heads/main', 'refs/heads/release')
jobs:
- job: Documentation
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.x'
- task: UseRubyVersion@0
- bash: |
gem install asciidoctor
echo "using asciidoctor ;" >> project-config.jam
./bootstrap.sh
pushd doc
../b2 --website-doc-dir=manual/$(Build.SourceBranchName) website
displayName: 'Build & Publish'
env:
GH_TOKEN: $(GitHubToken)
- stage: Compilers
dependsOn: [Core, Extra]
jobs:
- job: 'Co_Linux'
strategy:
matrix:
GCC 15: {CXX: g++-15, TOOLSET: gcc-15, CONTAINER: "linux_gcc15"}
GCC 14: {CXX: g++-14, TOOLSET: gcc-14, CONTAINER: "linux_gcc14"}
GCC 13: {CXX: g++-13, TOOLSET: gcc-13, CONTAINER: "linux_gcc13"}
GCC 12: {CXX: g++-12, TOOLSET: gcc-12, CONTAINER: "linux_gcc12"}
GCC 11: {CXX: g++-11, TOOLSET: gcc-11, CONTAINER: "linux_gcc11"}
GCC 10: {CXX: g++-10, TOOLSET: gcc-10, CONTAINER: "linux_gcc10"}
GCC 9: {CXX: g++-9, TOOLSET: gcc-9, CONTAINER: "linux_gcc9"}
GCC 8: {CXX: g++-8, TOOLSET: gcc-8, CONTAINER: "linux_gcc8"}
GCC 7: {CXX: g++-7, TOOLSET: gcc-7, CONTAINER: "linux_gcc7"}
GCC 6: {CXX: g++-6, TOOLSET: gcc-6, CONTAINER: "linux_gcc6"}
GCC 5: {CXX: g++-5, TOOLSET: gcc-5, CONTAINER: "linux_gcc5"}
GCC 4.9: {CXX: g++-4.9, TOOLSET: gcc-4.9, CONTAINER: "linux_gcc49"}
GCC 4.8: {CXX: g++-4.8, TOOLSET: gcc-4.8, CONTAINER: "linux_gcc48"}
Clang 21: {CXX: clang++-21, TOOLSET: clang-21, CONTAINER: "linux_clang21"}
Clang 20: {CXX: clang++-20, TOOLSET: clang-20, CONTAINER: "linux_clang20"}
Clang 19: {CXX: clang++-19, TOOLSET: clang-19, CONTAINER: "linux_clang19"}
Clang 18: {CXX: clang++-18, TOOLSET: clang-18, CONTAINER: "linux_clang18"}
Clang 17: {CXX: clang++-17, TOOLSET: clang-17, CONTAINER: "linux_clang17"}
Clang 16: {CXX: clang++-16, TOOLSET: clang-16, CONTAINER: "linux_clang16"}
Clang 15: {CXX: clang++-15, TOOLSET: clang-15, CONTAINER: "linux_clang15"}
Clang 14: {CXX: clang++-14, TOOLSET: clang-14, CONTAINER: "linux_clang14"}
Clang 13: {CXX: clang++-13, TOOLSET: clang-13, CONTAINER: "linux_clang13"}
Clang 12: {CXX: clang++-12, TOOLSET: clang-12, CONTAINER: "linux_clang12"}
Clang 11: {CXX: clang++-11, TOOLSET: clang-11, CONTAINER: "linux_clang11"}
Clang 10: {CXX: clang++-10, TOOLSET: clang-10, CONTAINER: "linux_clang10"}
Clang 9: {CXX: clang++-9, TOOLSET: clang-9, CONTAINER: "linux_clang9"}
Clang 8: {CXX: clang++-8, TOOLSET: clang-8, CONTAINER: "linux_clang8"}
Clang 7: {CXX: clang++-7, TOOLSET: clang-7, CONTAINER: "linux_clang7"}
Clang 6: {CXX: clang++-6.0, TOOLSET: clang-6.0, CONTAINER: "linux_clang6"}
Clang 5: {CXX: clang++-5.0, TOOLSET: clang-5.0, CONTAINER: "linux_clang5"}
Clang 4: {CXX: clang++-4.0, TOOLSET: clang-4.0, CONTAINER: "linux_clang4"}
Clang 3.9: {CXX: clang++-3.9, TOOLSET: clang-3.9, CONTAINER: "linux_clang3"}
pool:
vmImage: 'ubuntu-latest'
container: $[ variables['CONTAINER'] ]
steps:
- bash: |
uname -a
id
which sudo
which su
displayName: Info
- template: .ci/azp-linux-prep-container.yml
- template: .ci/azp-linux-test.yml
- job: 'Windows'
strategy:
matrix:
VS 2022: {TOOLSET: vc143, TEST_TOOLSET: msvc, VM_IMAGE: 'windows-2025'}
# VS 2019: {TOOLSET: vc142, TEST_TOOLSET: msvc, VM_IMAGE: 'windows-2019'}
# MinGW 8.1.0: {TOOLSET: mingw, TEST_TOOLSET: gcc, VM_IMAGE: 'windows-2022'}
pool:
vmImage: $(VM_IMAGE)
steps:
- template: .ci/azp-windows-test.yml
- job: 'macOS'
strategy:
matrix:
Xcode 26.0.1: {XCODE_APP: /Applications/Xcode_26.0.1.app, VM_IMAGE: 'macOS-15'}
# Xcode 16.3: {XCODE_APP: /Applications/Xcode_16.3.app, VM_IMAGE: 'macOS-15'}
Xcode 15.4: {XCODE_APP: /Applications/Xcode_15.4.app, VM_IMAGE: 'macOS-14'}
# Xcode 14.3.1: {XCODE_APP: /Applications/Xcode_14.3.1.app, VM_IMAGE: 'macOS-13'}
# Xcode 14.2: {XCODE_APP: /Applications/Xcode_14.2.app, VM_IMAGE: 'macOS-13'}
# Xcode 14.1: {XCODE_APP: /Applications/Xcode_14.1.app, VM_IMAGE: 'macOS-13'}
# Xcode 14.0.1: {XCODE_APP: /Applications/Xcode_14.0.1.app, VM_IMAGE: 'macOS-12'}
# Xcode 13.4.1: {XCODE_APP: /Applications/Xcode_13.4.1.app, VM_IMAGE: 'macOS-12'}
# Xcode 12.5.1: {XCODE_APP: /Applications/Xcode_12.5.1.app, VM_IMAGE: 'macOS-11'}
# Xcode 12.4: {XCODE_APP: /Applications/Xcode_12.4.app, VM_IMAGE: 'macOS-11'}
# Xcode 11.7: {XCODE_APP: /Applications/Xcode_11.7.app, VM_IMAGE: 'macOS-11'}
pool:
vmImage: $(VM_IMAGE)
steps:
- template: .ci/azp-macos-test.yml
- stage: Boost_Dev
dependsOn: [Core, Extra]
jobs:
- job: 'Dev_Linux'
displayName: 'Dev Linux'
strategy:
matrix:
Master .. GCC ${{variables.gcc_latest}}: {BOOST_BRANCH: master, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
Master .. Clang ${{variables.clang_latest}}: {BOOST_BRANCH: master, TOOLSET: clang, CXX: "clang++-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}", LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: "${{variables.clang_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
Develop .. GCC ${{variables.gcc_latest}}: {BOOST_BRANCH: develop, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
Develop .. Clang ${{variables.clang_latest}}: {BOOST_BRANCH: develop, TOOLSET: clang, CXX: "clang++-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}", LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: "${{variables.clang_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
./.ci/linux-cxx-install.sh
displayName: Install
- bash: |
set -e
cd src/engine
./build.sh ${TOOLSET} --cxx=${CXX}
./b2 -v
displayName: Build
- bash: |
set -e
pushd ${HOME}
git clone --recursive https://github.com/boostorg/boost.git
cd boost
git checkout ${BOOST_BRANCH}
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
"${BUILD_SOURCESDIRECTORY}/src/engine/b2" --debug-configuration --layout=versioned -n -d1 toolset=${TOOLSET} install
popd
displayName: Test
- job: 'Dev_macOS'
displayName: 'Dev macOS'
pool:
vmImage: "${{variables.macos_latest_vm}}"
strategy:
matrix:
Master .. Xcode ${{variables.xc_latest}}: {BOOST_BRANCH: master, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
Develop .. Xcode ${{variables.xc_latest}}: {BOOST_BRANCH: develop, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
steps:
- bash: |
set -e
uname -a
sudo xcode-select -switch ${XCODE_APP}
which clang++
displayName: Install
- bash: |
set -e
cd src/engine
./build.sh ${TOOLSET} --cxx=${CXX}
./b2 -v
displayName: Build
- bash: |
set -e
pushd ${HOME}
git clone --recursive https://github.com/boostorg/boost.git
cd boost
git checkout ${BOOST_BRANCH}
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
"${BUILD_SOURCESDIRECTORY}/src/engine/b2" --debug-configuration --layout=versioned -n -d1 toolset=${TOOLSET} install
popd
displayName: Test
- job: 'Dev_Windows'
displayName: 'Dev Windows'
pool:
vmImage: "${{variables.windows_latest_vm}}"
strategy:
matrix:
Master .. VS ${{variables.vs_latest}}: {BOOST_BRANCH: master, TOOLSET: "${{variables.vc_latest}}"}
Develop .. VS ${{variables.vs_latest}}: {BOOST_BRANCH: develop, TOOLSET: "${{variables.vc_latest}}"}
steps:
- powershell: |
cd src/engine
$env:path += ';' + ${env:CXX_PATH}
cmd /c build.bat ${env:TOOLSET}
./b2.exe -v
cd ../..
displayName: Build
- powershell: |
$env:HOME = "$env:HOMEDRIVE" + "$env:HOMEPATH"
cd "${env:HOME}"
git clone --recursive https://github.com/boostorg/boost.git
cd boost
$OriginalErrorActionPreference = $ErrorActionPreference
$ErrorActionPreference= 'silentlycontinue'
git checkout "${env:BOOST_BRANCH}"
$ErrorActionPreference = $OriginalErrorActionPreference
echo "using" "msvc" ";" > "${env:HOME}/user-config.jam"
& "${env:BUILD_SOURCESDIRECTORY}\src\engine\b2.exe" --debug-configuration --layout=versioned -n -d1 toolset=msvc install
displayName: Test
- stage: Boost_Release
dependsOn: [Boost_Dev]
jobs:
- job: 'Release_Linux'
displayName: 'Release Linux'
strategy:
matrix:
1.90.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.90.0, BOOST_VERSION_U: 1_90_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.89.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.89.0, BOOST_VERSION_U: 1_89_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.88.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.88.0, BOOST_VERSION_U: 1_88_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.87.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.87.0, BOOST_VERSION_U: 1_87_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.86.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.86.0, BOOST_VERSION_U: 1_86_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.85.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.85.0, BOOST_VERSION_U: 1_85_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.84.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.84.0, BOOST_VERSION_U: 1_84_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.83.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.83.0, BOOST_VERSION_U: 1_83_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.82.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.82.0, BOOST_VERSION_U: 1_82_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.81.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.81.0, BOOST_VERSION_U: 1_81_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.80.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.80.0, BOOST_VERSION_U: 1_80_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.79.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.79.0, BOOST_VERSION_U: 1_79_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.78.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.78.0, BOOST_VERSION_U: 1_78_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.77.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.77.0, BOOST_VERSION_U: 1_77_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.76.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.76.0, BOOST_VERSION_U: 1_76_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.75.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.75.0, BOOST_VERSION_U: 1_75_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.74.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.74.0, BOOST_VERSION_U: 1_74_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.73.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.73.0, BOOST_VERSION_U: 1_73_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.72.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.72.0, BOOST_VERSION_U: 1_72_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.71.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.71.0, BOOST_VERSION_U: 1_71_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.70.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.70.0, BOOST_VERSION_U: 1_70_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.69.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.69.0, BOOST_VERSION_U: 1_69_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.68.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.68.0, BOOST_VERSION_U: 1_68_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
# 1.67.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.67.0, BOOST_VERSION_U: 1_67_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
1.66.0 .. GCC ${{variables.gcc_latest}}: {BOOST_VERSION: 1.66.0, BOOST_VERSION_U: 1_66_0, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
./.ci/linux-cxx-install.sh
displayName: Install
- bash: |
set -e
cd src/engine
./build.sh ${TOOLSET} --cxx=${CXX}
./b2 -v
displayName: Build
- bash: |
set -e
pushd ${HOME}
git clone -b boost-${BOOST_VERSION} --single-branch --recurse-submodules https://github.com/boostorg/boost.git boost_${BOOST_VERSION_U}
cd boost_${BOOST_VERSION_U}
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
"${BUILD_SOURCESDIRECTORY}/src/engine/b2" --debug-configuration --layout=versioned -n -d1 toolset=${TOOLSET} install
popd
displayName: Test
- job: 'Release_macOS'
displayName: 'Release macOS'
pool:
vmImage: "${{variables.macos_latest_vm}}"
strategy:
matrix:
1.90.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.90.0, BOOST_VERSION_U: 1_90_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.89.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.89.0, BOOST_VERSION_U: 1_89_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.88.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.88.0, BOOST_VERSION_U: 1_88_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.87.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.87.0, BOOST_VERSION_U: 1_87_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.86.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.86.0, BOOST_VERSION_U: 1_86_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.85.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.85.0, BOOST_VERSION_U: 1_85_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.84.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.84.0, BOOST_VERSION_U: 1_84_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.83.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.83.0, BOOST_VERSION_U: 1_83_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.82.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.82.0, BOOST_VERSION_U: 1_82_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.81.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.81.0, BOOST_VERSION_U: 1_81_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.80.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.80.0, BOOST_VERSION_U: 1_80_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.79.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.79.0, BOOST_VERSION_U: 1_79_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.78.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.78.0, BOOST_VERSION_U: 1_78_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.77.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.77.0, BOOST_VERSION_U: 1_77_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.76.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.76.0, BOOST_VERSION_U: 1_76_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.75.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.75.0, BOOST_VERSION_U: 1_75_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.74.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.74.0, BOOST_VERSION_U: 1_74_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.73.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.73.0, BOOST_VERSION_U: 1_73_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.72.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.72.0, BOOST_VERSION_U: 1_72_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.71.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.71.0, BOOST_VERSION_U: 1_71_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.70.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.70.0, BOOST_VERSION_U: 1_70_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.69.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.69.0, BOOST_VERSION_U: 1_69_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.68.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.68.0, BOOST_VERSION_U: 1_68_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
# 1.67.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.67.0, BOOST_VERSION_U: 1_67_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
1.66.0 .. Xcode ${{variables.xc_latest}}: {BOOST_VERSION: 1.66.0, BOOST_VERSION_U: 1_66_0, TOOLSET: clang, CXX: clang++, XCODE_APP: "/Applications/Xcode_${{variables.xc_latest}}.app"}
steps:
- bash: |
set -e
uname -a
sudo xcode-select -switch ${XCODE_APP}
which clang++
displayName: Install
- bash: |
set -e
cd src/engine
./build.sh ${TOOLSET} --cxx=${CXX}
./b2 -v
displayName: Build
- bash: |
set -e
pushd ${HOME}
git clone -b boost-${BOOST_VERSION} --single-branch --recurse-submodules https://github.com/boostorg/boost.git boost_${BOOST_VERSION_U}
cd boost_${BOOST_VERSION_U}
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
"${BUILD_SOURCESDIRECTORY}/src/engine/b2" --debug-configuration --layout=versioned -n -d1 toolset=${TOOLSET} install
popd
displayName: Test
- job: 'Release_Windows'
displayName: 'Release Windows'
pool:
vmImage: "${{variables.windows_latest_vm}}"
strategy:
matrix:
1.90.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.90.0, BOOST_VERSION_U: 1_90_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.89.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.89.0, BOOST_VERSION_U: 1_89_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.88.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.88.0, BOOST_VERSION_U: 1_88_0, TOOLSET: "${{variables.vc_latest}}"}
1.87.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.87.0, BOOST_VERSION_U: 1_87_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.86.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.86.0, BOOST_VERSION_U: 1_86_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.85.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.85.0, BOOST_VERSION_U: 1_85_0, TOOLSET: "${{variables.vc_latest}}"}
1.84.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.84.0, BOOST_VERSION_U: 1_84_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.83.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.83.0, BOOST_VERSION_U: 1_83_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.82.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.82.0, BOOST_VERSION_U: 1_82_0, TOOLSET: "${{variables.vc_latest}}"}
1.81.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.81.0, BOOST_VERSION_U: 1_81_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.80.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.80.0, BOOST_VERSION_U: 1_80_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.79.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.79.0, BOOST_VERSION_U: 1_79_0, TOOLSET: "${{variables.vc_latest}}"}
1.78.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.78.0, BOOST_VERSION_U: 1_78_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.77.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.77.0, BOOST_VERSION_U: 1_77_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.76.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.76.0, BOOST_VERSION_U: 1_76_0, TOOLSET: "${{variables.vc_latest}}"}
1.75.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.75.0, BOOST_VERSION_U: 1_75_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.74.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.74.0, BOOST_VERSION_U: 1_74_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.73.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.73.0, BOOST_VERSION_U: 1_73_0, TOOLSET: "${{variables.vc_latest}}"}
1.72.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.72.0, BOOST_VERSION_U: 1_72_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.71.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.71.0, BOOST_VERSION_U: 1_71_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.70.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.70.0, BOOST_VERSION_U: 1_70_0, TOOLSET: "${{variables.vc_latest}}"}
1.69.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.69.0, BOOST_VERSION_U: 1_69_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.68.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.68.0, BOOST_VERSION_U: 1_68_0, TOOLSET: "${{variables.vc_latest}}"}
# 1.67.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.67.0, BOOST_VERSION_U: 1_67_0, TOOLSET: "${{variables.vc_latest}}"}
1.66.0 .. VS ${{variables.vs_latest}}: {BOOST_VERSION: 1.66.0, BOOST_VERSION_U: 1_66_0, TOOLSET: "${{variables.vc_latest}}"}
steps:
- powershell: |
cd src/engine
$env:path += ';' + ${env:CXX_PATH}
cmd /c build.bat ${env:TOOLSET}
./b2.exe -v
cd ../..
displayName: Build
- powershell: |
$env:HOME = "$env:HOMEDRIVE" + "$env:HOMEPATH"
cd "${env:HOME}"
git clone -b boost-${env:BOOST_VERSION} --single-branch --recurse-submodules https://github.com/boostorg/boost.git boost_${env:BOOST_VERSION_U}
cd "boost_${env:BOOST_VERSION_U}"
echo "using" "msvc" ";" > "${env:HOME}/user-config.jam"
& "${env:BUILD_SOURCESDIRECTORY}\src\engine\b2.exe" --debug-configuration --layout=versioned -n -d1 toolset=msvc install
displayName: Test