2
0
mirror of https://github.com/boostorg/sync.git synced 2026-01-19 04:42:12 +00:00

Added CI configs.

This commit is contained in:
Andrey Semashev
2018-11-13 22:02:03 +03:00
parent 58988bffcc
commit b344449fb9
2 changed files with 419 additions and 0 deletions

275
.travis.yml Normal file
View File

@@ -0,0 +1,275 @@
# Copyright 2018 Andrey Semashev
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
language: cpp
sudo: false
python: "2.7"
os:
- linux
- osx
branches:
only:
- master
- develop
env:
matrix:
- BOGUS_JOB=true
matrix:
exclude:
- env: BOGUS_JOB=true
include:
# gcc, Linux
- os: linux
env: TOOLSET=gcc COMPILER=g++ CXXSTD64=03,11
- os: linux
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD64=03,11 CXXSTD32=03,11
addons:
apt:
packages:
- g++-4.7
- g++-4.7-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD64=03,11 CXXSTD32=03,11
addons:
apt:
packages:
- g++-4.8
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD64=03,11 CXXSTD32=03,11
addons:
apt:
packages:
- g++-4.9
- g++-4.9-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD64=03,11,14 CXXSTD32=03,11
addons:
apt:
packages:
- g++-5
- g++-5-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD64=03,11,14,1z CXXSTD32=03,11
addons:
apt:
packages:
- g++-6
- g++-6-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD64=03,11,14,17 CXXSTD32=03,11
addons:
apt:
packages:
- g++-7
- g++-7-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=gcc COMPILER=g++-8 CXXSTD64=03,11,14,17,03-gnu,11-gnu,14-gnu,17-gnu CXXSTD32=03,11
addons:
apt:
packages:
- g++-8
- g++-8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-8
env: UBSAN=1 TOOLSET=gcc COMPILER=g++-8 CXXSTD64=03,11,14,17 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
# clang, Linux
- os: linux
env: TOOLSET=clang COMPILER=clang++ CXXSTD64=03,11
- os: linux
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD64=03,11 CXXSTD32=03,11
addons:
apt:
packages:
- clang-3.5
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.5
- os: linux
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD64=03,11 CXXSTD32=03,11
addons:
apt:
packages:
- clang-3.6
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.6
- os: linux
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD64=03,11 CXXSTD32=03,11
addons:
apt:
packages:
- clang-3.7
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
- os: linux
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD64=03,11,14,1z CXXSTD32=03,11
addons:
apt:
packages:
- clang-3.8
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
- os: linux
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD64=03,11,14,1z CXXSTD32=03,11
addons:
apt:
packages:
- clang-3.9
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-3.9
- os: linux
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD64=03,11,14,1z CXXSTD32=03,11
addons:
apt:
packages:
- clang-4.0
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-4.0
- os: linux
env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD64=03,11,14,1z CXXSTD32=03,11
addons:
apt:
packages:
- clang-5.0
- g++-4.8-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
- os: linux
env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD64=03,11,14,17 CXXSTD32=03,11
addons:
apt:
packages:
- clang-6.0
- g++-4.9-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-6.0
- os: linux
env: TOOLSET=clang COMPILER=clang++-7 CXXSTD64=03,11,14,17 CXXSTD32=03,11
addons:
apt:
packages:
- clang-7
- g++-4.9-multilib
- linux-libc-dev:i386
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
- os: linux
compiler: clang++-libc++
env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD64=03,11,14,1z
addons:
apt:
packages:
- libc++-dev
- os: linux
compiler: clang++-libc++
env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD64=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1
addons:
apt:
packages:
- libc++-dev
# clang, OS X, 64-bit
- os: osx
env: TOOLSET=clang COMPILER=clang++ CXXSTD64=03,11,14,1z
osx_image: xcode9.4
install:
- cd ..
- git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/boostdep
- git submodule update --init tools/build
- git submodule update --init libs/config
- cp -r $TRAVIS_BUILD_DIR/* libs/sync
- python tools/boostdep/depinst/depinst.py sync
- ./bootstrap.sh
- ./b2 headers
script:
- |-
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
- if [ -n "$CXXSTD64" ]; then echo ""; echo "Testing 64-bit targets"; echo ""; ./b2 -j3 libs/sync/test toolset=$TOOLSET address-model=64 cxxstd=$CXXSTD64 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS}; fi
- if [ -n "$CXXSTD32" ]; then echo ""; echo "Testing 32-bit targets"; echo ""; ./b2 -j3 libs/sync/test toolset=$TOOLSET address-model=32 cxxstd=$CXXSTD32 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS}; fi
notifications:
email:
on_success: always

144
appveyor.yml Normal file
View File

@@ -0,0 +1,144 @@
# Copyright 2018 Andrey Semashev
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
version: 1.0.{build}-{branch}
shallow_clone: true
branches:
only:
- master
- develop
environment:
matrix:
# AppVeyor doesn't provide 64-bit compilers for these MSVC versions
# - TOOLSET: msvc-9.0
# ADDRESS_MODEL: 64
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: msvc-10.0
# ADDRESS_MODEL: 64
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: msvc-11.0
# ADDRESS_MODEL: 64
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-12.0
ADDRESS_MODEL: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.0
ADDRESS_MODEL: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.1
ADDRESS_MODEL: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
# Boost.Thread does not compile for Cygwin
# - TOOLSET: gcc
# ADDRESS_MODEL: 64
# B2_ARGS: cxxflags=-std=c++03
# ADDPATH: C:\cygwin64\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: gcc
# ADDRESS_MODEL: 64
# B2_ARGS: cxxflags=-std=c++11
# ADDPATH: C:\cygwin64\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 64
B2_ARGS: cxxflags=-std=c++03
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 64
B2_ARGS: cxxflags=-std=c++11
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 64
B2_ARGS: cxxflags=-std=gnu++03
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 64
B2_ARGS: cxxflags=-std=gnu++11
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-9.0
ADDRESS_MODEL: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-10.0
ADDRESS_MODEL: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-11.0
ADDRESS_MODEL: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-12.0
ADDRESS_MODEL: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.0
ADDRESS_MODEL: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.1
ADDRESS_MODEL: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
# Boost.Thread does not compile for Cygwin
# - TOOLSET: gcc
# ADDRESS_MODEL: 32
# B2_ARGS: cxxflags=-std=c++03
# ADDPATH: C:\cygwin\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: gcc
# ADDRESS_MODEL: 32
# B2_ARGS: cxxflags=-std=c++11
# ADDPATH: C:\cygwin\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 32
B2_ARGS: cxxflags=-std=c++03
ADDPATH: C:\mingw\bin
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 32
B2_ARGS: cxxflags=-std=c++11
ADDPATH: C:\mingw\bin
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# AppVeyor doesn't provide 32-bit compilers for MinGW-w64
# - TOOLSET: gcc
# ADDRESS_MODEL: 32
# B2_ARGS: cxxflags=-std=c++03
# ADDPATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: gcc
# ADDRESS_MODEL: 32
# B2_ARGS: cxxflags=-std=c++11
# ADDPATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: gcc
# ADDRESS_MODEL: 32
# B2_ARGS: cxxflags=-std=gnu++03
# ADDPATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: gcc
# ADDRESS_MODEL: 32
# B2_ARGS: cxxflags=-std=gnu++11
# ADDPATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\bin
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
install:
- cd ..
- git clone -b %APPVEYOR_REPO_BRANCH% https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/boostdep
- git submodule update --init tools/build
- git submodule update --init libs/config
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\sync
- python tools/boostdep/depinst/depinst.py sync
- cmd /c bootstrap
- b2 headers
build: off
test_script:
- PATH=%ADDPATH%;%PATH%
- b2 libs/sync/test variant=release toolset=%TOOLSET% address-model=%ADDRESS_MODEL% %B2_ARGS%