diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e098e94 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,67 @@ +sudo: required +dist: trusty + +os: linux + +language: c + +compiler: + - gcc + - clang + +services: + - redis-server + +cache: + directories: + - download-cache + +env: + global: + - JOBS=3 + - NGX_BUILD_JOBS=$JOBS + - LUAJIT_PREFIX=/opt/luajit21 + - LUAJIT_LIB=$LUAJIT_PREFIX/lib + - LUAJIT_INC=$LUAJIT_PREFIX/include/luajit-2.1 + - LUA_INCLUDE_DIR=$LUAJIT_INC + - OPENSSL_PREFIX=/opt/ssl + - OPENSSL_LIB=$OPENSSL_PREFIX/lib + - OPENSSL_INC=$OPENSSL_PREFIX/include + - OPENSSL_VER=1.0.2h + - LD_LIBRARY_PATH=$LUAJIT_LIB:$LD_LIBRARY_PATH + - TEST_NGINX_SLEEP=0.006 + matrix: + - NGINX_VERSION=1.9.15 +# - NGINX_VERSION=1.10.0 + +install: + - if [ ! -d download-cache ]; then mkdir download-cache; fi + - if [ ! -f download-cache/openssl-$OPENSSL_VER.tar.gz ]; then wget -O download-cache/openssl-$OPENSSL_VER.tar.gz https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz; fi + - sudo apt-get install -qq -y cpanminus axel + - sudo cpanm --notest Test::Nginx > build.log 2>&1 || (cat build.log && exit 1) + - wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz + - git clone https://github.com/openresty/openresty.git ../openresty + - git clone https://github.com/openresty/nginx-devel-utils.git + - git clone https://github.com/openresty/lua-cjson.git + - git clone https://github.com/openresty/lua-nginx-module.git ../lua-nginx-module + - git clone https://github.com/openresty/echo-nginx-module.git ../echo-nginx-module + - git clone https://github.com/openresty/no-pool-nginx.git ../no-pool-nginx + - git clone -b v2.1-agentzh https://github.com/openresty/luajit2.git + +script: + - cd luajit2/ + - make -j$JOBS CCDEBUG=-g Q= PREFIX=$LUAJIT_PREFIX CC=$CC XCFLAGS='-DLUA_USE_APICHECK -DLUA_USE_ASSERT' > build.log 2>&1 || (cat build.log && exit 1) + - sudo make install PREFIX=$LUAJIT_PREFIX > build.log 2>&1 || (cat build.log && exit 1) + - cd ../lua-cjson && make && sudo PATH=$PATH make install && cd .. + - tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz + - cd openssl-$OPENSSL_VER/ + - ./config shared --prefix=$OPENSSL_PREFIX -DPURIFY > build.log 2>&1 || (cat build.log && exit 1) + - make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1) + - sudo make PATH=$PATH install_sw > build.log 2>&1 || (cat build.log && exit 1) + - cd .. + - export PATH=$PWD/work/nginx/sbin:$PWD/nginx-devel-utils:$PATH + - export NGX_BUILD_CC=$CC + - ngx-build $NGINX_VERSION --with-ipv6 --with-http_realip_module --with-http_ssl_module --add-module=../echo-nginx-module --add-module=../lua-nginx-module --with-debug + - nginx -V + - ldd `which nginx`|grep -E 'luajit|ssl|pcre' + - prove -r t