Add Linux Docker test matrix

This commit is contained in:
Richard Hodges
2020-04-30 08:00:37 +02:00
parent 81b677e7d3
commit b84d8ad3d4
4 changed files with 54 additions and 0 deletions

8
.dockerignore Normal file
View File

@ -0,0 +1,8 @@
# ignore cmake builds
cmake-build-*/
# ignore b2 builds
bin.v2/
*/bin.v2/
.git/
*/.git/

View File

@ -0,0 +1,23 @@
FROM fedora:32
RUN dnf update -y
RUN dnf -y groupinstall "Development Tools"
RUN dnf install -y cmake openssl-devel clang libcxx-devel libcxxabi-devel bzip2-devel which zlib-devel
WORKDIR /devel
RUN git clone -b develop https://github.com/boostorg/boost.git
COPY .dockers/fedora-32/user-config.jam /devel/boost/
COPY .dockers/fedora-32/tests.sh /devel/boost/
WORKDIR /devel/boost
RUN git submodule update --init --recursive
COPY Jamfile /devel/boost/libs/beast/
COPY doc /devel/boost/libs/beast/doc/
COPY example /devel/boost/libs/beast/example/
COPY meta /devel/boost/libs/beast/meta/
COPY tools /devel/boost/libs/beast/tools/
#RUN cd libs/beast && git checkout develop && git pull origin develop
RUN ./bootstrap.sh
RUN ./b2 toolset=gcc variant=release cxxstd=latest headers
RUN ./tests.sh

12
.dockers/fedora-32/tests.sh Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/env bash
set -e
./b2 --user-config=./user-config.jam \
toolset=clang,gcc \
asio.mode=dflt,nodep,nots,ts,nodep-nots,nodep-ts \
variant=release \
cxxstd=2a,17,14,11 \
-j`grep processor /proc/cpuinfo | wc -l` \
-q \
libs/beast/test libs/beast/example

View File

@ -0,0 +1,11 @@
import feature ;
feature.feature asio.mode : dflt nodep nots ts nodep-nots nodep-ts : propagated composite ;
feature.compose <asio.mode>nodep : <define>"BOOST_ASIO_NO_DEPRECATED" ;
feature.compose <asio.mode>nots : <define>"BOOST_ASIO_NO_TS_EXECUTORS" ;
feature.compose <asio.mode>ts : <define>"BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT" ;
feature.compose <asio.mode>nodep-nots : <define>"BOOST_ASIO_NO_DEPRECATED" <define>"BOOST_ASIO_NO_TS_EXECUTORS" ;
feature.compose <asio.mode>nodep-ts : <define>"BOOST_ASIO_NO_DEPRECATED" <define>"BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT" ;
using clang : : clang++ : <stdlib>"libc++" <cxxflags>"-Wno-c99-extensions" ;
using gcc : : g++ : <cxxflags>"-Wno-c99-extensions" ;