Commit 64c40959 authored by Dominik Charousset's avatar Dominik Charousset

Merge branch 'topic/jenkins'

parents c4ae6f1b 1e30a824
#!/bin/sh
set -x
set -e
# This script expects the CAF source tree under 'sources', builds in 'build' and
# installs to 'bundle'. Additionally, the script expects the CMake pre-load
# script 'cmake-init.txt' in the current working directorys.
InitFile="$PWD/cmake-init.txt"
SourceDir="$PWD/sources"
BuildDir="$PWD/build"
cat "$InitFile"
# Prefer cmake3 over "regular" cmake (cmake == cmake2 on RHEL).
if command -v cmake3 >/dev/null 2>&1 ; then
CMakeCommand="cmake3"
CTestCommand="ctest3"
elif command -v cmake >/dev/null 2>&1 ; then
CMakeCommand="cmake"
CTestCommand="ctest"
else
echo "No CMake found."
exit 1
fi
# Make sure all directories exist, then enter build directory.
mkdir -p "$BuildDir"
cd "$BuildDir"
# Run CMake and CTest.
$CMakeCommand -C "$InitFile" "$SourceDir"
if [ -z "$CAF_NUM_CORES" ]; then
$CMakeCommand --build . --target install
else
$CMakeCommand --build . --target install -- -j $CAF_NUM_CORES
fi
$CTestCommand
FROM centos:6
RUN yum update -y \
&& yum install -y centos-release-scl \
&& yum install -y epel-release \
&& yum update -y \
&& yum clean all
RUN yum install -y \
cmake3 \
devtoolset-7 \
devtoolset-7-libasan-devel \
devtoolset-7-libubsan-devel \
git \
make \
openssl-devel \
&& yum clean all
ENV CXX=/opt/rh/devtoolset-7/root/usr/bin/g++
FROM centos:7
RUN yum update -y \
&& yum install -y centos-release-scl \
&& yum install -y epel-release \
&& yum update -y \
&& yum clean all
RUN yum install -y \
cmake3 \
devtoolset-7 \
devtoolset-7-libasan-devel \
devtoolset-7-libubsan-devel \
git \
make \
openssl-devel \
&& yum clean all
ENV CXX=/opt/rh/devtoolset-7/root/usr/bin/g++
FROM debian:buster
RUN apt update -y && \
apt upgrade -y
RUN apt install -y \
cmake \
g++-8 \
git \
libssl-dev \
make \
&& apt autoclean
ENV CXX=/usr/bin/g++-8
FROM debian:stretch
RUN apt update -y && \
apt upgrade -y
RUN apt install -y \
clang-7 \
cmake \
git \
libssl-dev \
make \
&& apt autoclean
ENV CXX=/usr/bin/clang++-7
FROM fedora:30
RUN dnf update -y && \
dnf clean all
RUN dnf install -y \
git \
make \
cmake \
gcc-c++ \
openssl-devel \
libasan \
libubsan \
&& dnf clean all
FROM fedora:31
RUN dnf update -y && \
dnf clean all
RUN dnf install -y \
git \
make \
cmake \
gcc-c++ \
openssl-devel \
libasan \
libubsan \
&& dnf clean all
FROM ubuntu:16.04
RUN apt update -y && \
apt upgrade -y
RUN apt install -y \
clang-8 \
cmake \
git \
libssl-dev \
make \
&& apt autoclean
ENV CXX=/usr/bin/clang++-8
FROM ubuntu:18.04
RUN apt update -y && \
apt upgrade -y
RUN apt install -y \
cmake \
g++-8 \
git \
libssl-dev \
make \
&& apt-get autoclean
ENV CXX=/usr/bin/g++-8
...@@ -28,38 +28,41 @@ config = [ ...@@ -28,38 +28,41 @@ config = [
buildMatrix: [ buildMatrix: [
// Various Linux builds for debug and release. // Various Linux builds for debug and release.
['centos-6', [ ['centos-6', [
numCores: 4,
tags: ['docker'],
builds: ['debug', 'release'], builds: ['debug', 'release'],
tools: ['gcc-7'],
extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'], extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'],
]], ]],
['centos-7', [ ['centos-7', [
numCores: 4,
tags: ['docker'],
builds: ['debug', 'release'], builds: ['debug', 'release'],
tools: ['gcc-7'],
extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'], extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'],
]], ]],
['ubuntu-16.04', [ ['ubuntu-16.04', [
numCores: 4,
tags: ['docker'],
builds: ['debug', 'release'], builds: ['debug', 'release'],
tools: ['clang-4'],
]], ]],
['ubuntu-18.04', [ ['ubuntu-18.04', [
numCores: 4,
tags: ['docker'],
builds: ['debug', 'release'], builds: ['debug', 'release'],
tools: ['gcc-7'],
]], ]],
// On Fedora 28, our debug build also produces the coverage report. ['fedora-30', [
['fedora-28', [ numCores: 4,
builds: ['debug'], tags: ['docker'],
tools: ['gcc-8'], builds: ['debug', 'release'],
// extraSteps: ['coverageReport'], TODO: fix kcov setup
extraFlags: ['BUILD_SHARED_LIBS:BOOL=OFF'],
]], ]],
['fedora-28', [ ['fedora-31', [
builds: ['release'], numCores: 4,
tools: ['gcc-8'], tags: ['docker'],
builds: ['debug', 'release'],
]], ]],
// Other UNIX systems. // Other UNIX systems.
['macOS', [ ['macOS', [
numCores: 4,
builds: ['debug', 'release'], builds: ['debug', 'release'],
tools: ['clang'],
extraFlags: [ extraFlags: [
'OPENSSL_ROOT_DIR=/usr/local/opt/openssl', 'OPENSSL_ROOT_DIR=/usr/local/opt/openssl',
'OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include', 'OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include',
...@@ -67,16 +70,16 @@ config = [ ...@@ -67,16 +70,16 @@ config = [
extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'], extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'],
]], ]],
['FreeBSD', [ ['FreeBSD', [
numCores: 4,
builds: ['debug', 'release'], builds: ['debug', 'release'],
tools: ['clang'],
extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'], extraDebugFlags: ['CAF_SANITIZERS:STRING=address,undefined'],
]], ]],
// Non-UNIX systems. // Non-UNIX systems.
['Windows', [ ['Windows', [
numCores: 4,
// TODO: debug build currently broken // TODO: debug build currently broken
//builds: ['debug', 'release'], //builds: ['debug', 'release'],
builds: ['release'], builds: ['release'],
tools: ['msvc'],
extraFlags: ['CAF_ENABLE_OPENSSL_MODULE:BOOL=OFF'], extraFlags: ['CAF_ENABLE_OPENSSL_MODULE:BOOL=OFF'],
]], ]],
], ],
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include "caf/config.hpp" #include "caf/config.hpp"
#ifdef WIN32 #ifdef CAF_WINDOWS
# define _WIN32_WINNT 0x0600 # define _WIN32_WINNT 0x0600
# include <winsock2.h> # include <winsock2.h>
#else #else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment