431 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			431 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
# 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/*
 | 
						|
  paths:
 | 
						|
    exclude:
 | 
						|
    - .circleci/*
 | 
						|
    - .cirrus.yml
 | 
						|
    - .drone.star
 | 
						|
    - .github/workflows/*
 | 
						|
    - .semaphore/*
 | 
						|
    - .travis.yml
 | 
						|
    - appveyor.yml
 | 
						|
pr:
 | 
						|
  branches:
 | 
						|
    include:
 | 
						|
    - main
 | 
						|
  paths:
 | 
						|
    exclude:
 | 
						|
    - appveyor.yml
 | 
						|
 | 
						|
variables:
 | 
						|
- { name: linux_latest_vm, value: 'ubuntu-20.04' }
 | 
						|
- { name: linux_latest_os, value: 'focal' }
 | 
						|
- { name: windows_latest_vm, value: 'windows-2019' }
 | 
						|
- { name: clang_latest, value: '13' }
 | 
						|
- { name: gcc_latest, value: '11' }
 | 
						|
- { name: vc_latest, value: 'vc142' }
 | 
						|
- { name: vs_latest, value: '2019' }
 | 
						|
- { name: xc_latest, value: '12.5.1' }
 | 
						|
- { name: macos_latest_vm, value: 'macOS-11' }
 | 
						|
 | 
						|
 | 
						|
stages:
 | 
						|
 | 
						|
- stage: Core
 | 
						|
  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}}", VM_IMAGE: "${{variables.linux_latest_vm}}"}
 | 
						|
        Clang ${{variables.clang_latest}}: {TOOLSET: "clang-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}", LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: 13, VM_IMAGE: "${{variables.linux_latest_vm}}"}
 | 
						|
    pool:
 | 
						|
      vmImage: $(VM_IMAGE)
 | 
						|
    steps:
 | 
						|
    - template: .ci/azp-linux-test.yml
 | 
						|
 | 
						|
  - job: 'Windows_Latest'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        VS ${{variables.vs_latest}}: {TOOLSET: "${{variables.vc_latest}}", TEST_TOOLSET: msvc, VM_IMAGE: "${{variables.windows_latest_vm}}"}
 | 
						|
    pool:
 | 
						|
      vmImage: $(VM_IMAGE)
 | 
						|
    steps:
 | 
						|
    - template: .ci/azp-windows-test.yml
 | 
						|
 | 
						|
  - job: 'macOS'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        Xcode ${{variables.xc_latest}}: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, 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_ASAN'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        Clang ${{variables.clang_latest}}: {TOOLSET: "clang-${{variables.clang_latest}}", PACKAGES: "clang-${{variables.clang_latest}}", LLVM_OS: "${{variables.linux_latest_os}}", LLVM_VER: 13, VM_IMAGE: "${{variables.linux_latest_vm}}"}
 | 
						|
    pool:
 | 
						|
      vmImage: $(VM_IMAGE)
 | 
						|
    continueOnError: 'true'
 | 
						|
    steps:
 | 
						|
    - template: .ci/azp-linux-asan-test.yml
 | 
						|
 | 
						|
- stage: Compilers
 | 
						|
  dependsOn: [Core]
 | 
						|
  jobs:
 | 
						|
 | 
						|
  - job: 'Linux'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        GCC 10: {TOOLSET: gcc-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-20.04'}
 | 
						|
        GCC 9: {TOOLSET: gcc-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        GCC 8: {TOOLSET: gcc-8, PACKAGES: g++-8, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        GCC 7: {TOOLSET: gcc-7, PACKAGES: g++-7, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        GCC 6: {TOOLSET: gcc-6, PACKAGES: g++-6, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        GCC 5: {TOOLSET: gcc-5,  PACKAGES: g++-5, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        Clang 12: {TOOLSET: clang-12, PACKAGES: clang-12, LLVM_OS: focal, LLVM_VER: 12, VM_IMAGE: 'ubuntu-20.04'}
 | 
						|
        Clang 11: {TOOLSET: clang-11, PACKAGES: clang-11, LLVM_OS: focal, LLVM_VER: 11, VM_IMAGE: 'ubuntu-20.04'}
 | 
						|
        Clang 10: {TOOLSET: clang-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        Clang 9: {TOOLSET: clang-9, PACKAGES: clang-9, LLVM_OS: bionic, LLVM_VER: 9, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        Clang 8: {TOOLSET: clang-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        Clang 7: {TOOLSET: clang-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        Clang 6: {TOOLSET: clang-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        Clang 5: {TOOLSET: clang-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
        Clang 4: {TOOLSET: clang-4.0, PACKAGES: clang-4.0, LLVM_OS: xenial, LLVM_VER: 4.0, VM_IMAGE: 'ubuntu-18.04'}
 | 
						|
    pool:
 | 
						|
      vmImage: $(VM_IMAGE)
 | 
						|
    steps:
 | 
						|
    - template: .ci/azp-linux-test.yml
 | 
						|
 | 
						|
  - job: 'Windows'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        VS 2022: {TOOLSET: vc143, TEST_TOOLSET: msvc, VM_IMAGE: 'windows-2022'}
 | 
						|
        VS 2017: {TOOLSET: vc141, TEST_TOOLSET: msvc, VM_IMAGE: 'vs2017-win2016'}
 | 
						|
        MinGW 8.1.0: {TOOLSET: mingw, TEST_TOOLSET: gcc, VM_IMAGE: 'vs2017-win2016'}
 | 
						|
    pool:
 | 
						|
      vmImage: $(VM_IMAGE)
 | 
						|
    steps:
 | 
						|
    - template: .ci/azp-windows-test.yml
 | 
						|
 | 
						|
  - job: 'macOS'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        Xcode 13.0: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.0.app, VM_IMAGE: 'macOS-11'}
 | 
						|
        Xcode 12.4: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.4.app, VM_IMAGE: 'macOS-11'}
 | 
						|
        Xcode 12.3: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.3.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 12.2: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.2.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 12.1.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.1.1.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 12.0.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.0.1.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 11.7: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.7.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 11.6: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.6.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 11.5: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.5.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 11.4.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.4.1.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 11.3.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.3.1.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 11.3: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.3.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 11.2.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.2.1.app, VM_IMAGE: 'macOS-10.15'}
 | 
						|
        Xcode 10.2.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_10.2.1.app, VM_IMAGE: 'macOS-10.14'}
 | 
						|
        Xcode 10.2: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_10.2.app, VM_IMAGE: 'macOS-10.14'}
 | 
						|
        Xcode 10.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_10.1.app, VM_IMAGE: 'macOS-10.14'}
 | 
						|
        Xcode 10.0: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_10.app, VM_IMAGE: 'macOS-10.14'}
 | 
						|
    pool:
 | 
						|
      vmImage: $(VM_IMAGE)
 | 
						|
    steps:
 | 
						|
    - template: .ci/azp-macos-test.yml
 | 
						|
 | 
						|
- stage: Boost_Dev
 | 
						|
  dependsOn: [Core]
 | 
						|
  jobs:
 | 
						|
 | 
						|
  - job: 'Dev_Linux'
 | 
						|
    displayName: 'Dev Linux'
 | 
						|
    pool:
 | 
						|
      vmImage: 'ubuntu-latest'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        Master .. GCC ${{variables.gcc_latest}}: {BOOST_BRANCH: master, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}"}
 | 
						|
        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}}"}
 | 
						|
        Develop .. GCC ${{variables.gcc_latest}}: {BOOST_BRANCH: develop, TOOLSET: gcc, CXX: "g++-${{variables.gcc_latest}}", PACKAGES: "g++-${{variables.gcc_latest}}"}
 | 
						|
        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}}"}
 | 
						|
    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" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --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" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --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" "--boost-build=${env:BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=msvc install
 | 
						|
      displayName: Test
 | 
						|
 | 
						|
- stage: Boost_Release
 | 
						|
  dependsOn: [Boost_Dev]
 | 
						|
  jobs:
 | 
						|
 | 
						|
  - job: 'Release_Linux'
 | 
						|
    displayName: 'Release Linux'
 | 
						|
    pool:
 | 
						|
      vmImage: 'ubuntu-latest'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
        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}}"}
 | 
						|
    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" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --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.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" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --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.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" "--boost-build=${env:BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=msvc install
 | 
						|
      displayName: Test
 | 
						|
 | 
						|
- stage: Website_Update
 | 
						|
  dependsOn: [Core]
 | 
						|
  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: |
 | 
						|
        pip install --user Pygments
 | 
						|
        pip install --user "https://github.com/bfgroup/jam_pygments/archive/master.zip"
 | 
						|
        gem install asciidoctor
 | 
						|
        gem install pygments.rb
 | 
						|
        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)
 |