Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 70 additions & 50 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,47 +43,52 @@ parameters:
- name: jobs
type: object
default:
- { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: gcc-5, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:18.04' }
- { compiler: gcc-6, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:18.04' }
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-20.04 }
- { compiler: gcc-8, cxxstd: '14,17,2a', os: ubuntu-20.04 }
- { compiler: gcc-9, cxxstd: '14,17,2a', os: ubuntu-20.04 }
- { compiler: gcc-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: gcc-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.6, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.7, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-5.0, cxxstd: '11,14,17', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04 }
- { compiler: clang-7, cxxstd: '14,17', os: ubuntu-20.04 }
- { compiler: clang-8, cxxstd: '14,17', os: ubuntu-20.04 }
- { compiler: clang-9, cxxstd: '14,17,2a', os: ubuntu-20.04 }
- { compiler: clang-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-12, cxxstd: '14,17,20', os: ubuntu-22.04, gcc_toolchain: 12 }
- { compiler: clang-13, cxxstd: '14,17,20', os: ubuntu-22.04, gcc_toolchain: 12 }
- { compiler: clang-14, cxxstd: '14,17,20', os: ubuntu-22.04, gcc_toolchain: 12 }
- { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: gcc-5, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:18.04' }
- { compiler: gcc-6, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04' }
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: gcc-8, cxxstd: '14,17,2a', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: gcc-9, cxxstd: '14,17,2a', os: ubuntu-22.04 }
- { compiler: gcc-10, cxxstd: '14,17,20', os: ubuntu-22.04 }
- { compiler: gcc-11, cxxstd: '14,17,20', os: ubuntu-22.04 }
- { compiler: gcc-12, cxxstd: '14,17,20', os: ubuntu-22.04 }
- { compiler: gcc-13, cxxstd: '14,17,20,2b', os: ubuntu-24.04 }
- { compiler: gcc-14, cxxstd: '14,17,20,23', os: ubuntu-24.04 }
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: clang-3.6, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: clang-3.7, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: clang-5.0, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:16.04' }
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: clang-7, cxxstd: '14,17', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: clang-8, cxxstd: '14,17', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: clang-9, cxxstd: '14,17,2a', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: clang-10, cxxstd: '14,17,20', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: clang-11, cxxstd: '14,17,20', os: ubuntu-latest, container: 'ubuntu:20.04' }
- { compiler: clang-12, cxxstd: '14,17,20', os: ubuntu-22.04 }
- { compiler: clang-13, cxxstd: '14,17,20', os: ubuntu-22.04 }
- { compiler: clang-14, cxxstd: '14,17,20', os: ubuntu-22.04 }
- { compiler: clang-16, cxxstd: '14,17,20,23', os: ubuntu-24.04 }
- { compiler: clang-17, cxxstd: '14,17,20,23', os: ubuntu-latest, container: 'ubuntu:24.04' }
- { compiler: clang-18, cxxstd: '14,17,20,23,2c', os: ubuntu-24.04 }
- { compiler: clang-19, cxxstd: '14,17,20,23,2c', os: ubuntu-24.04 }
- { name: Linux_clang_6_libcxx,
compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04, container: 'ubuntu:18.04', install: 'clang-6.0 libc++-dev libc++abi-dev', env: {B2_STDLIB: libc++ } }
compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04', install: 'clang-6.0 libc++-dev libc++abi-dev', env: {B2_STDLIB: libc++ } }
# OSX
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.2.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.3.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.4' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.4.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '14.0.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-13, xcode: '14.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-13, xcode: '14.3.1' }
- { compiler: clang, cxxstd: '14,17,20', os: macOS-13, xcode: '15.1' }
- { compiler: clang, cxxstd: '14,17,20', os: macOS-13, xcode: '15.2' }
- { compiler: clang, cxxstd: '14,17,20', os: macOS-14, xcode: '15.3' }
- { compiler: clang, cxxstd: '14,17,20', os: macOS-14, xcode: '15.4' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-14, xcode: '16.0' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-14, xcode: '16.1' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-14, xcode: '16.2' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-15, xcode: '16.3' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-15, xcode: '16.4' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-26, xcode: '26.0.1' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-26, xcode: '26.2' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-26, xcode: '26.3' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-26, xcode: '26.4.1' }
- { compiler: clang, cxxstd: '14,17,20,23', os: macOS-26, xcode: '26.5' }

stages:
- stage: Test
Expand All @@ -101,8 +106,6 @@ stages:
${{ if item.container }}:
container:
image: ${{ item.container }}
# Workaround for missing sudo: https://github.com/microsoft/azure-pipelines-agent/issues/2043
options: --name ci-container -v /usr/bin/docker:/tmp/docker:ro
variables:
B2_COMPILER: ${{ item.compiler }}
B2_CXXSTD: ${{ item.cxxstd }}
Expand All @@ -119,15 +122,31 @@ stages:
${{var.Key}}: ${{var.Value}}
steps:
- ${{ if item.container }}:
# Workaround for missing sudo: https://github.com/microsoft/azure-pipelines-agent/issues/2043
- bash: |
/usr/bin/docker exec -u0 "$AGENT_CONTAINERID" /bin/sh -c \
"apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::='--force-confold' -y install sudo software-properties-common"
target: host
displayName: Install sudo in container
- bash: |
set -ex
/tmp/docker exec -t -u 0 ci-container \
sh -c "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::='--force-confold' -y install sudo software-properties-common"
osver=$(lsb_release -sr | cut -f1 -d.)
pkgs="g++ git"
# Ubuntu 22+ has only Python 3 in the repos
if [ -n "$osver" ] && [ "$osver" -ge "22" ]; then
pkgs+=" python-is-python3 libpython3-dev"
elif [ -n "$osver" ] && [ "$osver" -eq "20" ]; then
pkgs+=" python libpython2-dev"
else
pkgs+=" python libpython-dev"
fi

# Need (newer) git
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
sudo apt-get -o Acquire::Retries=$NET_RETRY_COUNT -y -q --no-install-suggests --no-install-recommends install g++ python libpython-dev git
displayName: 'Install required sw for containers'
sudo apt-get -o Acquire::Retries=$NET_RETRY_COUNT -y -q --no-install-suggests --no-install-recommends install $pkgs
displayName: Install required SW for containers

- task: Cache@2
condition: eq(variables.B2_USE_CCACHE, '1')
inputs:
Expand All @@ -144,23 +163,24 @@ stages:
[[ $(basename "$BUILD_REPOSITORY_NAME") = "boost-ci" ]] || cp -prf boost-ci-cloned/ci .
rm -rf boost-ci-cloned
source ci/azure-pipelines/install.sh
displayName: 'Install'
displayName: Setup build environment
- bash: |
set -ex
echo "SELF=$SELF"
echo "BOOST_ROOT=$BOOST_ROOT"

cd $BOOST_ROOT/libs/$SELF
ci/azure-pipelines/build.sh
displayName: Build

- job: Windows
timeoutInMinutes: 120
strategy:
matrix:
VS_2019: { B2_TOOLSET: msvc-14.2, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2019 }
VS_2019_strict: { B2_TOOLSET: msvc-14.2, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2019, B2_CXXFLAGS: -permissive- }
VS_2022: { B2_TOOLSET: msvc-14.3, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2022 }
VS_2022_strict: { B2_TOOLSET: msvc-14.3, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2022, B2_CXXFLAGS: -permissive- }
VS_2022: { B2_TOOLSET: msvc-14.3, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2022 }
VS_2022_strict: { B2_TOOLSET: msvc-14.3, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2022, B2_CXXFLAGS: -permissive- }
VS_2026: { B2_TOOLSET: msvc-14.5, B2_CXXSTD: '14,17,20,latest', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2025-vs2026 }
VS_2026_struct: { B2_TOOLSET: msvc-14.5, B2_CXXSTD: '14,17,20,latest', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2025-vs2026, B2_CXXFLAGS: -permissive- }

pool:
vmImage: $(VM_IMAGE)
Expand All @@ -171,6 +191,6 @@ stages:
if "%BUILD_REPOSITORY_NAME%" == "%BUILD_REPOSITORY_NAME:boost-ci=%" xcopy /s /e /q /i /y boost-ci-cloned\ci .\ci
rmdir /s /q boost-ci-cloned
ci\azure-pipelines\install.bat
displayName: 'Install'
displayName: Install
- script: ci\build.bat
displayName: 'Build'
displayName: Build
65 changes: 38 additions & 27 deletions .drone.star
Original file line number Diff line number Diff line change
Expand Up @@ -22,34 +22,45 @@ def job(

def main(ctx):
return [
job(compiler='clang-3.5', cxxstd='11', os='ubuntu-16.04'),
job(compiler='clang-3.6', cxxstd='11,14', os='ubuntu-16.04'),
job(compiler='clang-3.8', cxxstd='11,14', os='ubuntu-16.04'),
job(compiler='clang-3.9', cxxstd='11,14', os='ubuntu-18.04'),
job(compiler='clang-4.0', cxxstd='11,14', os='ubuntu-18.04'),
job(compiler='clang-5.0', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='clang-6.0', cxxstd='11,14,17', os='ubuntu-20.04'),
job(compiler='clang-7', cxxstd='11,14,17', os='ubuntu-20.04'),
job(compiler='clang-8', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='clang-9', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='clang-10', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='clang-11', cxxstd='11,14,17,2a', os='ubuntu-22.04'),
job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-22.04'),
job(compiler='clang-13', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='clang-14', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='clang-15', cxxstd='11,14,17,20,2b', os='ubuntu-22.04', add_llvm=True),
job(compiler='clang-3.5', cxxstd='11', os='ubuntu-16.04'),
job(compiler='clang-3.6', cxxstd='11,14', os='ubuntu-16.04'),
job(compiler='clang-3.8', cxxstd='11,14', os='ubuntu-16.04'),
job(compiler='clang-3.9', cxxstd='11,14', os='ubuntu-18.04'),
job(compiler='clang-4.0', cxxstd='11,14', os='ubuntu-18.04'),
job(compiler='clang-5.0', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='clang-6.0', cxxstd='11,14,17', os='ubuntu-20.04'),
job(compiler='clang-7', cxxstd='11,14,17', os='ubuntu-20.04'),
job(compiler='clang-8', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='clang-9', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='clang-10', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='clang-11', cxxstd='11,14,17,2a', os='ubuntu-22.04'),
job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-22.04'),
job(compiler='clang-13', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='clang-14', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='clang-15', cxxstd='11,14,17,20,2b', os='ubuntu-22.04', add_llvm=True),
job(compiler='clang-16', cxxstd='11,14,17,20,2b', os='ubuntu-24.04'),
job(compiler='clang-17', cxxstd='11,14,17,20,23', os='ubuntu-24.04'),
job(compiler='clang-18', cxxstd='11,14,17,20,23,2c', os='ubuntu-24.04'),
job(compiler='clang-19', cxxstd='11,14,17,20,23,2c', os='ubuntu-24.04'),
job(compiler='clang-20', cxxstd='11,14,17,20,23,2c', os='ubuntu-24.04'),
job(compiler='clang-21', cxxstd='11,14,17,20,23,2c', os='ubuntu-26.04'),
job(compiler='clang-22', cxxstd='11,14,17,20,23,2c', os='ubuntu-26.04'),

job(compiler='gcc-4.7', cxxstd='11', os='ubuntu-16.04'),
job(compiler='gcc-4.8', cxxstd='11', os='ubuntu-16.04'),
job(compiler='gcc-4.9', cxxstd='11', os='ubuntu-16.04'),
job(compiler='gcc-5', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='gcc-6', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='gcc-7', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='gcc-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'),
job(compiler='gcc-9', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='gcc-10', cxxstd='11,14,17,20', os='ubuntu-22.04'),
job(compiler='gcc-11', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='gcc-12', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='gcc-4.7', cxxstd='11', os='ubuntu-16.04'),
job(compiler='gcc-4.8', cxxstd='11', os='ubuntu-16.04'),
job(compiler='gcc-4.9', cxxstd='11', os='ubuntu-16.04'),
job(compiler='gcc-5', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='gcc-6', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='gcc-7', cxxstd='11,14,1z', os='ubuntu-18.04'),
job(compiler='gcc-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'),
job(compiler='gcc-9', cxxstd='11,14,17,2a', os='ubuntu-20.04'),
job(compiler='gcc-10', cxxstd='11,14,17,20', os='ubuntu-22.04'),
job(compiler='gcc-11', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='gcc-12', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'),
job(compiler='gcc-13', cxxstd='11,14,17,20,2b', os='ubuntu-24.04'),
job(compiler='gcc-14', cxxstd='11,14,17,20,23', os='ubuntu-24.04'),
job(compiler='gcc-15', cxxstd='11,14,17,20,23,2c', os='ubuntu-26.04'),
job(compiler='gcc-16', cxxstd='11,14,17,20,23,26', os='ubuntu-26.04'),

job(name='Coverage', buildtype='codecov',
compiler='gcc-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'),
Expand Down
4 changes: 2 additions & 2 deletions ci/azure-pipelines/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ if [ -z "$B2_COMPILER" ]; then
fi

if [ "$AGENT_OS" != "Darwin" ]; then
# If no package set install at least the compiler if not already found
if [[ -z "$PACKAGES" ]] && ! command -v "$B2_COMPILER"; then
# If no package set install at least the compiler
if [[ -z "$PACKAGES" ]]; then
PACKAGES="$(get_compiler_package "$B2_COMPILER")"
fi

Expand Down
Loading