From 42af697e82a7bf9333749e3a9f990a890805467a Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Mon, 9 Oct 2017 06:13:56 +0000 Subject: [PATCH 01/10] Add .travis CI build --- .travis.yml | 31 +++++++++++++++++++++++++++++++ ci/build_boringssl.sh | 16 ++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 .travis.yml create mode 100755 ci/build_boringssl.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..bd55779 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,31 @@ +language: cpp +compiler: + - clang + - gcc +sudo: false +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + - george-edison55-precise-backports + packages: + - g++-5 + - clang-3.8 + - libev-dev + - cmake + - cmake-data +before_install: + - $CC --version + - if [ "$CXX" = "g++" ]; then export CXX="g++-5" CC="gcc-5"; else export CXX="clang++-3.8" CC="clang-3.8"; fi + - $CC --version + - cmake --version +before_script: + # First build external lib + - ./ci/build_boringssl.sh + # configure lsquic + - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/tmp/boringssl-libs . +script: + # Now build lsquic-client + - make + - make test diff --git a/ci/build_boringssl.sh b/ci/build_boringssl.sh new file mode 100755 index 0000000..5b548b8 --- /dev/null +++ b/ci/build_boringssl.sh @@ -0,0 +1,16 @@ +#!/bin/sh +#build last boringssl master (for Travis) + +cd .. +git clone --depth 1 https://boringssl.googlesource.com/boringssl +cd boringssl +git checkout chromium-stable +mkdir build +cd build +cmake .. +make -j$(nproc) +BORINGSSL_SOURCE=$PWD +mkdir -p $HOME/tmp/boringssl-libs +cd $HOME/tmp/boringssl-libs +ln -s $BORINGSSL_SOURCE/ssl/libssl.a +ln -s $BORINGSSL_SOURCE/crypto/libcrypto.a From c6b17ae05e605a661b996508add18fe7ff2431fa Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Mon, 9 Oct 2017 11:37:25 +0000 Subject: [PATCH 02/10] Libssl-dev --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index bd55779..1c5372e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ addons: - g++-5 - clang-3.8 - libev-dev + - libssl-dev - cmake - cmake-data before_install: From 8f498c7cebe2c7b6f733f85572e9790afa5ac0e2 Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Mon, 9 Oct 2017 11:58:33 +0000 Subject: [PATCH 03/10] debug --- .travis.yml | 4 ++-- ci/build_boringssl.sh | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1c5372e..a06fbda 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,8 +25,8 @@ before_script: # First build external lib - ./ci/build_boringssl.sh # configure lsquic - - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/tmp/boringssl-libs . -script: + - echo $BORINGSSL_SOURCE + - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/tmp/boringssl-libs . script: # Now build lsquic-client - make - make test diff --git a/ci/build_boringssl.sh b/ci/build_boringssl.sh index 5b548b8..b26ff4e 100755 --- a/ci/build_boringssl.sh +++ b/ci/build_boringssl.sh @@ -10,6 +10,7 @@ cd build cmake .. make -j$(nproc) BORINGSSL_SOURCE=$PWD +echo $BORINGSSL_SOURCE mkdir -p $HOME/tmp/boringssl-libs cd $HOME/tmp/boringssl-libs ln -s $BORINGSSL_SOURCE/ssl/libssl.a From 327861087dfb46c0125b02e448103c4a5c46d75f Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Mon, 9 Oct 2017 12:26:18 +0000 Subject: [PATCH 04/10] include boringssl build --- .travis.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index a06fbda..9836b56 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,10 +23,21 @@ before_install: - cmake --version before_script: # First build external lib - - ./ci/build_boringssl.sh + - git clone --depth 1 https://boringssl.googlesource.com/boringssl + - cd boringssl + - git checkout chromium-stable + - cmake . + - make -j$(nproc) + - BORINGSSL_SOURCE=$PWD + - mkdir -p $HOME/tmp/boringssl-libs + - cd $HOME/tmp/boringssl-libs + - ln -s $BORINGSSL_SOURCE/ssl/libssl.a + - ln -s $BORINGSSL_SOURCE/crypto/libcrypto.a + #- ./ci/build_boringssl.sh # configure lsquic - - echo $BORINGSSL_SOURCE - - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/tmp/boringssl-libs . script: + - echo $BORINGSSL_SOURCE + - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/tmp/boringssl-libs . +script: # Now build lsquic-client - make - make test From 13802590883f5a7568b12a2188ccfa7739272f4b Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Thu, 12 Oct 2017 06:09:14 +0000 Subject: [PATCH 05/10] Remove depth --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9836b56..a98e631 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ before_install: - cmake --version before_script: # First build external lib - - git clone --depth 1 https://boringssl.googlesource.com/boringssl + - git clone https://boringssl.googlesource.com/boringssl - cd boringssl - git checkout chromium-stable - cmake . From 11597b8ff0abe9d56482a14115d8ec1f9e140e16 Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Tue, 17 Oct 2017 06:02:00 +0000 Subject: [PATCH 06/10] travis: fix path --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index a98e631..2dae65d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,6 +33,7 @@ before_script: - cd $HOME/tmp/boringssl-libs - ln -s $BORINGSSL_SOURCE/ssl/libssl.a - ln -s $BORINGSSL_SOURCE/crypto/libcrypto.a + - cd .. #- ./ci/build_boringssl.sh # configure lsquic - echo $BORINGSSL_SOURCE From 69ecc9980200bdfbe7b8db3a7d76930e4de2f9f8 Mon Sep 17 00:00:00 2001 From: Dmitri Tikhonov Date: Mon, 23 Apr 2018 11:06:02 -0400 Subject: [PATCH 07/10] Fix up .travis.yml --- .travis.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2dae65d..12a8aba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ addons: packages: - g++-5 - clang-3.8 - - libev-dev + - libevent-dev - libssl-dev - cmake - cmake-data @@ -22,23 +22,20 @@ before_install: - $CC --version - cmake --version before_script: - # First build external lib - git clone https://boringssl.googlesource.com/boringssl - cd boringssl - git checkout chromium-stable - cmake . - make -j$(nproc) - BORINGSSL_SOURCE=$PWD - - mkdir -p $HOME/tmp/boringssl-libs - - cd $HOME/tmp/boringssl-libs + - mkdir -p $HOME/boringssl-libs + - cd $HOME/boringssl-libs - ln -s $BORINGSSL_SOURCE/ssl/libssl.a - ln -s $BORINGSSL_SOURCE/crypto/libcrypto.a - - cd .. - #- ./ci/build_boringssl.sh - # configure lsquic + - cd $TRAVIS_BUILD_DIR - echo $BORINGSSL_SOURCE - - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/tmp/boringssl-libs . + - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/boringssl-libs . script: # Now build lsquic-client - make - - make test + - ctest -VV From db8ac9eead5f2581c13d7b9c76a021ecae0313dd Mon Sep 17 00:00:00 2001 From: Dmitri Tikhonov Date: Mon, 23 Apr 2018 14:13:20 -0400 Subject: [PATCH 08/10] Turn off Analyzer if using Travis -- it breaks all tests for some reason --- .travis.yml | 2 +- CMakeLists.txt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 12a8aba..ccd623b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,4 +38,4 @@ before_script: script: # Now build lsquic-client - make - - ctest -VV + - make test diff --git a/CMakeLists.txt b/CMakeLists.txt index ee4bd59..2cb8d62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,7 +41,8 @@ IF(DEVEL_MODE EQUAL 1) SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -O0 -g3") # -Werror is used to force us to fix warnings early. SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -Werror") - IF(CMAKE_C_COMPILER MATCHES "clang") + IF(CMAKE_C_COMPILER MATCHES "clang" AND + NOT "$ENV{TRAVIS}" MATCHES "^true$") SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -fsanitize=address") ENDIF() # Uncomment to enable fault injection testing via libfiu: From 1fc8f998cd14eeac6ec00ae7a17edd664ada89dd Mon Sep 17 00:00:00 2001 From: Dmitri Tikhonov Date: Mon, 23 Apr 2018 14:49:50 -0400 Subject: [PATCH 09/10] Add Travis status --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 27c3116..6f00eff 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Build Status](https://travis-ci.org/dtikhonov/lsquic-client.svg?branch=master)](https://travis-ci.org/dtikhonov/lsquic-client) + LiteSpeed QUIC (LSQUIC) Client Library README ============================================= From cfbb176a12f7be21fef80c9864dbae83d5012cac Mon Sep 17 00:00:00 2001 From: Dmitri Tikhonov Date: Mon, 23 Apr 2018 15:03:08 -0400 Subject: [PATCH 10/10] Remove obsolete ci/build_boringssl.sh --- ci/build_boringssl.sh | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100755 ci/build_boringssl.sh diff --git a/ci/build_boringssl.sh b/ci/build_boringssl.sh deleted file mode 100755 index b26ff4e..0000000 --- a/ci/build_boringssl.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -#build last boringssl master (for Travis) - -cd .. -git clone --depth 1 https://boringssl.googlesource.com/boringssl -cd boringssl -git checkout chromium-stable -mkdir build -cd build -cmake .. -make -j$(nproc) -BORINGSSL_SOURCE=$PWD -echo $BORINGSSL_SOURCE -mkdir -p $HOME/tmp/boringssl-libs -cd $HOME/tmp/boringssl-libs -ln -s $BORINGSSL_SOURCE/ssl/libssl.a -ln -s $BORINGSSL_SOURCE/crypto/libcrypto.a