ci: expand Travis-CI build matrix
Change-Id: I8859a82245507b4e956b6244f5c3aea95daabdd1
diff --git a/.jenkins.d/20-tests.sh b/.jenkins.d/20-tests.sh
index 01bf070..f2ade1e 100755
--- a/.jenkins.d/20-tests.sh
+++ b/.jenkins.d/20-tests.sh
@@ -41,5 +41,8 @@
ASAN_OPTIONS+=":strip_path_prefix=${PWD}/"
export ASAN_OPTIONS
+export BOOST_TEST_COLOR_OUTPUT="yes"
+export NDN_LOG="*=DEBUG"
+
# Run unit tests
./build/unit-tests $(ut_log_args)
diff --git a/.travis.yml b/.travis.yml
index f223e8c..61c1139 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,28 +3,157 @@
env:
global:
- JOB_NAME=limited-build
- - NDN_LOG=*=DEBUG
- - BOOST_TEST_COLOR_OUTPUT=true
+ - WAF_JOBS=2
+
matrix:
include:
+ # Linux/gcc
- os: linux
dist: trusty
env:
- - CXX=g++
+ - CXX=g++-4.8
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources: ubuntu-toolchain-r-test
+ packages: g++-4.9
+ env:
+ - CXX=g++-4.9
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources: ubuntu-toolchain-r-test
+ packages: g++-5
+ env:
+ - CXX=g++-5
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources: ubuntu-toolchain-r-test
+ packages: g++-6
+ env:
+ - CXX=g++-6
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources: ubuntu-toolchain-r-test
+ packages: g++-7
+ env:
+ - CXX=g++-7
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+
+ # Linux/clang
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ packages: clang-3.5
+ env:
+ - CXX=clang++-3.5
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ packages: clang-3.6
+ env:
+ - CXX=clang++-3.6
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources:
+ - llvm-toolchain-precise-3.7
+ - ubuntu-toolchain-r-test
+ packages: clang-3.7
+ env:
+ - CXX=clang++-3.7
- NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- os: linux
dist: trusty
+ addons:
+ apt:
+ sources:
+ - llvm-toolchain-precise-3.8
+ - ubuntu-toolchain-r-test
+ packages: clang-3.8
env:
- - CXX=clang++
+ - CXX=clang++-3.8
- NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources:
+ - llvm-toolchain-trusty-3.9
+ - ubuntu-toolchain-r-test
+ packages: clang-3.9
+ env:
+ - CXX=clang++-3.9
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources:
+ - llvm-toolchain-trusty-4.0
+ - ubuntu-toolchain-r-test
+ packages: clang-4.0
+ env:
+ - CXX=clang++-4.0
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+ - os: linux
+ dist: trusty
+ addons:
+ apt:
+ sources:
+ - llvm-toolchain-trusty-5.0
+ - ubuntu-toolchain-r-test
+ packages: clang-5.0
+ env:
+ - CXX=clang++-5.0
+ - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
+ - BUILD_WITH_ASAN=yes
+
+ # macOS/clang
+ # https://docs.travis-ci.com/user/osx-ci-environment/#OS-X-Version
- os: osx
- osx_image: xcode8.2
+ osx_image: xcode7.3
env:
- - CXX=clang++
+ - NODE_LABELS="OSX OSX-10.11"
+ - BUILD_WITH_ASAN=yes
+ - os: osx
+ osx_image: xcode8.3
+ env:
- NODE_LABELS="OSX OSX-10.12"
-notifications:
- email:
- on_success: always
- on_failure: always
+ - BUILD_WITH_ASAN=yes
+ - os: osx
+ osx_image: xcode9
+ env:
+ - NODE_LABELS="OSX OSX-10.12"
+ - BUILD_WITH_ASAN=yes
+
+before_script:
+ - ${CXX:-c++} --version
+ - python --version
+
script:
- ./.jenkins
diff --git a/README.md b/README.md
index 5628e70..9823805 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,13 @@
ChronoSync: synchronization library for distributed realtime applications for NDN
=================================================================================
+[![Build Status](https://travis-ci.org/named-data/ChronoSync.svg?branch=master)](https://travis-ci.org/named-data/ChronoSync)
+
In supporting many distributed applications, such as group text messaging, file sharing,
and joint editing, a basic requirement is the efficient and robust synchronization of
knowledge about the dataset such as text messages, changes to the shared folder, or
-document edits. This library implements
-[ChronoSync protocol](http://named-data.net/wp-content/uploads/2014/03/chronosync-icnp2013.pdf),
+document edits. This library implements the
+[ChronoSync protocol](https://named-data.net/wp-content/uploads/2014/03/chronosync-icnp2013.pdf),
which exploits the features of the Named Data Networking architecture to efficiently
synchronize the state of a dataset among a distributed group of users. Using appropriate
naming rules, ChronoSync summarizes the state of a dataset in a condensed cryptographic
@@ -26,7 +28,7 @@
Please submit any bugs or issues to the **ChronoSync** issue tracker:
-* http://redmine.named-data.net/projects/chronosync
+* https://redmine.named-data.net/projects/chronosync
Installation instructions
-------------------------
@@ -35,8 +37,7 @@
Required:
-* [ndn-cxx and its dependencies](http://named-data.net/doc/ndn-cxx/)
-* Boost libraries
+* [ndn-cxx and its dependencies](https://named-data.net/doc/ndn-cxx/)
### Build