Skip to contentSkip to conversation

initial travis-ci support

PATCH In review Ilya Shipitsin 2 participants 4 messages Sep 15, 2016 – Sep 17, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 initial travis-ci support

---
 .travis.yml                    | 85 ++++++++++++++++++++++++++++++++++++++++++
 .travis/build-mbedtls-linux.sh | 10 +++++
 .travis/build-mbedtls-osx.sh   |  9 +++++
 .travis/build-openssl-linux.sh | 12 ++++++
 .travis/build-openssl-osx.sh   | 11 ++++++
 5 files changed, 127 insertions(+)
 create mode 100644 .travis.yml
 create mode 100755 .travis/build-mbedtls-linux.sh
 create mode 100755 .travis/build-mbedtls-osx.sh
 create mode 100755 .travis/build-openssl-linux.sh
 create mode 100755 .travis/build-openssl-osx.sh
.travis.yml new file +85 -0
new file mode 100644
index 0000000..6f719a1
@@ -0,0 +1,85 @@
+sudo: required
+dist: trusty
+
+os: linux
+
+language: c
+
+compiler:
+  - gcc
+
+env:
+  global:
+    - JOBS=3
+    - MBEDTLS_VERSION=2.2.1
+    - MBEDTLS_PREFIX=~/opt/mbedtls
+    - MBEDTLS_LIBS="-L$MBEDTLS_PREFIX/lib -lmbedtls -lmbedx509 -lmbedcrypto"
+    - MBEDTLS_CFLAGS="-I$MBEDTLS_PREFIX/include"
+    - OPENSSL_VERSION=1.0.1t
+    - OPENSSL_PREFIX=~/opt/openssl
+    - OPENSSL_LIB=$OPENSSL_PREFIX/lib
+    - OPENSSL_INC=$OPENSSL_PREFIX/include
+    - OPENSSL_CFLAGS="-I$OPENSSL_PREFIX/include"
+    - OPENSSL_LIBS="-L$OPENSSL_PREFIX/lib -lssl -lcrypto"
+
+matrix:
+  include:
+    - env: CONFIG="--with-crypto-library=openssl"
+      compiler: gcc
+    - env: CONFIG="--with-crypto-library=openssl"
+      compiler: clang
+    - env: CONFIG="--with-crypto-library=mbedtls"
+      compiler: gcc
+    - env: CONFIG="--with-crypto-library=mbedtls"
+      compiler: clang
+    - env: CONFIG="--with-crypto-library=openssl --disable-crypto"
+      compiler: clang
+    - env: CONFIG="--with-crypto-library=openssl --disable-lzo"
+      compiler: clang
+    - env: CONFIG="--with-crypto-library=openssl --enable-small"
+      compiler: clang
+    - env: CONFIG="--with-crypto-library=openssl"
+      os: osx
+      osx_image: xcode7.3
+      compiler: clang
+    - env: CONFIG="--with-crypto-library=mbedtls"
+      os: osx
+      osx_image: xcode7.3
+      compiler: clang
+  allow_failures:
+    - env: CONFIG="--with-crypto-library=openssl --disable-crypto"
+      compiler: clang
+  exclude:
+    - compiler: gcc
+
+addons:
+  apt:
+    packages:
+      - liblzo2-dev
+      - libpam0g-dev
+      - liblz4-dev
+      - linux-libc-dev
+
+cache:
+  apt: true
+  ccache: true
+  directories:
+  - download-cache
+
+before_install:
+  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update     ; fi
+  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install lzo; fi
+
+install:
+  - mkdir ~/bin && ln -s $(which ccache) ~/bin/$CC && export PATH=$HOME/bin:$PATH
+  - if [ ! -d download-cache ]; then mkdir download-cache; fi
+  - if [[ $CONFIG == *"--with-crypto-library=openssl"* ]]; then .travis/build-openssl-${TRAVIS_OS_NAME}.sh; fi
+  - if [[ $CONFIG == *"--with-crypto-library=mbedtls"* ]]; then .travis/build-mbedtls-${TRAVIS_OS_NAME}.sh; fi
+
+script:
+  - autoreconf -vi
+  - ./configure $CONFIG || (cat config.log && exit 1)
+  - make -j$JOBS
+  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ldd src/openvpn/openvpn; fi
+  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then otool -L src/openvpn/openvpn; fi
+  - make check
.travis/build-mbedtls-linux.sh new file +10 -0
new file mode 100755
index 0000000..c21f4e6
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ ! -f download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz ]; then 
+	wget -O download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz https://tls.mbed.org/download/mbedtls-${MBEDTLS_VERSION}-apache.tgz; 
+fi
+
+tar zxf download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz
+cd mbedtls-${MBEDTLS_VERSION} && make > build.log 2>&1 || (cat build.log && exit 1)
+make install DESTDIR=$MBEDTLS_PREFIX && cd ..
+
.travis/build-mbedtls-osx.sh new file +9 -0
new file mode 100755
index 0000000..e7f07ea
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ ! -f download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz ]; then 
+	wget -O download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz https://tls.mbed.org/download/mbedtls-${MBEDTLS_VERSION}-apache.tgz; 
+fi
+
+tar zxf download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz
+cd mbedtls-${MBEDTLS_VERSION} && make > build.log 2>&1 || (cat build.log && exit 1)
+make install DESTDIR=$MBEDTLS_PREFIX && cd ..
.travis/build-openssl-linux.sh new file +12 -0
new file mode 100755
index 0000000..931e2c9
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+if [ ! -f download-cache/openssl-${OPENSSL_VERSION}.tar.gz ]; then 
+	wget -O download-cache/openssl-${OPENSSL_VERSION}.tar.gz https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz; 
+fi
+
+tar zxf download-cache/openssl-${OPENSSL_VERSION}.tar.gz
+cd openssl-${OPENSSL_VERSION}/
+./config shared --prefix=$OPENSSL_PREFIX -DPURIFY > build.log 2>&1 || (cat build.log && exit 1)
+make > build.log 2>&1 || (cat build.log && exit 1)
+make install_sw > build.log 2>&1 || (cat build.log && exit 1)
+cd ..
.travis/build-openssl-osx.sh new file +11 -0
new file mode 100755
index 0000000..dee207e
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ ! -f download-cache/openssl-${OPENSSL_VERSION}.tar.gz ]; then 
+        wget -O download-cache/openssl-${OPENSSL_VERSION}.tar.gz https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz; 
+fi
+
+tar zxf download-cache/openssl-${OPENSSL_VERSION}.tar.gz
+cd openssl-${OPENSSL_VERSION}/
+./Configure darwin64-x86_64-cc shared --prefix=$OPENSSL_PREFIX -DPURIFY > build.log 2>&1 || (cat build.log && exit 1)
+make depend install > build.log 2>&1 || (cat build.log && exit 1)
+cd ..
Signature · 1 line
2.5.5
#1 lore raw

ACK. Your patch has been applied to the master branch

(Talking with Steffan, we've decided to squash both patches into just one, because it seems to be somewhat silly to add a file just to completely rewrite in the next patch again)

commit 368991264d82f038bde30a67910ac6c7681a4ba9

Author: Ilya Shipitsin
Date:   Thu Sep 15 16:26:48 2016 +0500
     initial travis-ci support

     Acked-by: Gert Doering <[email protected]...>
     Message-Id: <[email protected]...>
     URL: http://www.mail-archive.com/search?l=mid&[email protected]...
     Signed-off-by: Steffan Karger <[email protected]...>
     Acked-by: Gert Doering <[email protected]...>
     Message-Id: <[email protected]...>
     URL: http://www.mail-archive.com/search?l=mid&[email protected]...
     Signed-off-by: Gert Doering <[email protected]...>

--
kind regards,

Gert Doering

#2 lore raw

thanks!

I'm going to unleash "allowed as failure" tests now.

2016-09-17 14:19 GMT+05:00 Gert Doering <[email protected]...>:

Quoted 30 lines

ACK. Your patch has been applied to the master branch

(Talking with Steffan, we've decided to squash both patches into just one, because it seems to be somewhat silly to add a file just to completely rewrite in the next patch again)

commit 368991264d82f038bde30a67910ac6c7681a4ba9

Author: Ilya Shipitsin
Date:   Thu Sep 15 16:26:48 2016 +0500
     initial travis-ci support

     Acked-by: Gert Doering <[email protected]...>
     Message-Id: <[email protected]...>
     URL: http://www.mail-archive.com/search?l=mid&q=1473938808-
[email protected]...
     Signed-off-by: Steffan Karger <[email protected]...>
     Acked-by: Gert Doering <[email protected]...>
     Message-Id: <[email protected]...>
     URL: http://www.mail-archive.com/search?l=mid&q=1473938818-
[email protected]...
     Signed-off-by: Gert Doering <[email protected]...>

--
kind regards,

Gert Doering

#3 lore raw

PATCH 1/1 travis-ci refactor by Steffan Karger

From: Steffan Karger <[email protected]...>

---
 .travis.yml           | 63 ++++++++++++++++++++------------------
 .travis/build-deps.sh | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 119 insertions(+), 29 deletions(-)
 create mode 100755 .travis/build-deps.sh
.travis.yml +34 -29
index 6f719a1..452c48e 100644
@@ -11,43 +11,49 @@ compiler:
 env:
   global:
     - JOBS=3
-    - MBEDTLS_VERSION=2.2.1
-    - MBEDTLS_PREFIX=~/opt/mbedtls
-    - MBEDTLS_LIBS="-L$MBEDTLS_PREFIX/lib -lmbedtls -lmbedx509 -lmbedcrypto"
-    - MBEDTLS_CFLAGS="-I$MBEDTLS_PREFIX/include"
-    - OPENSSL_VERSION=1.0.1t
-    - OPENSSL_PREFIX=~/opt/openssl
-    - OPENSSL_LIB=$OPENSSL_PREFIX/lib
-    - OPENSSL_INC=$OPENSSL_PREFIX/include
-    - OPENSSL_CFLAGS="-I$OPENSSL_PREFIX/include"
-    - OPENSSL_LIBS="-L$OPENSSL_PREFIX/lib -lssl -lcrypto"
+    - PREFIX="${HOME}/opt"
+    - MBEDTLS_VERSION="2.2.1"
+    - MBEDTLS_CFLAGS="-I${PREFIX}/include"
+    - MBEDTLS_LIBS="-L${PREFIX}/lib -lmbedtls -lmbedx509 -lmbedcrypto"
+    - OPENSSL_VERSION="1.0.1t"
+    - OPENSSL_CFLAGS="-I${PREFIX}/include"
+    - OPENSSL_LIBS="-L${PREFIX}/lib -lssl -lcrypto"
+    - LD_LIBRARY_PATH="${PREFIX}/lib:${LD_LIBRARY_PATH}"
 
 matrix:
   include:
-    - env: CONFIG="--with-crypto-library=openssl"
+    - env: SSLLIB="openssl"
+      os: linux
       compiler: gcc
-    - env: CONFIG="--with-crypto-library=openssl"
+    - env: SSLLIB="openssl"
+      os: linux
       compiler: clang
-    - env: CONFIG="--with-crypto-library=mbedtls"
+    - env: SSLLIB="mbedtls"
+      os: linux
       compiler: gcc
-    - env: CONFIG="--with-crypto-library=mbedtls"
+    - env: SSLLIB="mbedtls"
+      os: linux
       compiler: clang
-    - env: CONFIG="--with-crypto-library=openssl --disable-crypto"
+    - env: SSLLIB="openssl" EXTRA_CONFIG="--disable-crypto"
+      os: linux
       compiler: clang
-    - env: CONFIG="--with-crypto-library=openssl --disable-lzo"
+    - env: SSLLIB="openssl" EXTRA_CONFIG="--disable-lzo"
+      os: linux
       compiler: clang
-    - env: CONFIG="--with-crypto-library=openssl --enable-small"
+    - env: SSLLIB="openssl" EXTRA_CONFIG="--enable-small"
+      os: linux
       compiler: clang
-    - env: CONFIG="--with-crypto-library=openssl"
+    - env: SSLLIB="openssl"
       os: osx
       osx_image: xcode7.3
       compiler: clang
-    - env: CONFIG="--with-crypto-library=mbedtls"
+    - env: SSLLIB="mbedtls"
       os: osx
       osx_image: xcode7.3
       compiler: clang
   allow_failures:
-    - env: CONFIG="--with-crypto-library=openssl --disable-crypto"
+    - env: SSLLIB="openssl" EXTRA_CONFIG="--disable-crypto"
+      os: linux
       compiler: clang
   exclude:
     - compiler: gcc
@@ -65,21 +71,20 @@ cache:
   ccache: true
   directories:
   - download-cache
+  - ${HOME}/opt
 
 before_install:
-  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update     ; fi
-  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install lzo; fi
+  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew update     ; fi
+  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew install lzo; fi
 
 install:
-  - mkdir ~/bin && ln -s $(which ccache) ~/bin/$CC && export PATH=$HOME/bin:$PATH
-  - if [ ! -d download-cache ]; then mkdir download-cache; fi
-  - if [[ $CONFIG == *"--with-crypto-library=openssl"* ]]; then .travis/build-openssl-${TRAVIS_OS_NAME}.sh; fi
-  - if [[ $CONFIG == *"--with-crypto-library=mbedtls"* ]]; then .travis/build-mbedtls-${TRAVIS_OS_NAME}.sh; fi
+  - .travis/build-deps.sh > build-deps.log 2>&1 || (cat build-deps.log && exit 1)
 
 script:
   - autoreconf -vi
-  - ./configure $CONFIG || (cat config.log && exit 1)
+  - ./configure --with-crypto-library="${SSLLIB}" ${EXTRA_CONFIG} || (cat config.log && exit 1)
   - make -j$JOBS
-  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ldd src/openvpn/openvpn; fi
-  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then otool -L src/openvpn/openvpn; fi
+  - src/openvpn/openvpn --version || true
+  - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then ldd src/openvpn/openvpn; fi
+  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then otool -L src/openvpn/openvpn; fi
   - make check
.travis/build-deps.sh new file +85 -0

85 lines not on this page · raw message

Signature · 1 line
2.5.5