1sudo: required
2dist: trusty
3
4os: linux
5
6language: c
7
8cache:
9  directories:
10  - download-cache
11
12addons:
13  apt:
14    packages:
15    - axel
16    - cpanminus
17    - libtest-base-perl
18    - libtext-diff-perl
19    - liburi-perl
20    - libwww-perl
21    - libtest-longstring-perl
22    - liblist-moreutils-perl
23    - libgd-dev
24
25compiler:
26  - gcc
27  - clang
28
29env:
30  global:
31    - LUAJIT_PREFIX=/opt/luajit21
32    - LUAJIT_LIB=$LUAJIT_PREFIX/lib
33    - LD_LIBRARY_PATH=$LUAJIT_LIB:$LD_LIBRARY_PATH
34    - LUAJIT_INC=$LUAJIT_PREFIX/include/luajit-2.1
35    - LUA_INCLUDE_DIR=$LUAJIT_INC
36    - LUA_CMODULE_DIR=/lib
37    - JOBS=3
38    - NGX_BUILD_JOBS=$JOBS
39    - TEST_NGINX_SLEEP=0.006
40  matrix:
41    - NGINX_VERSION=1.11.2
42    - NGINX_VERSION=1.13.6
43
44services:
45 - mysql
46 - postgresql
47
48install:
49  - if [ ! -f download-cache/drizzle7-2011.07.21.tar.gz ]; then wget -P download-cache/ http://openresty.org/download/drizzle7-2011.07.21.tar.gz; fi
50  - git clone https://github.com/openresty/nginx-devel-utils.git
51  - git clone https://github.com/openresty/openresty.git ../openresty
52  - git clone https://github.com/openresty/no-pool-nginx.git ../no-pool-nginx
53  - git clone https://github.com/simpl/ngx_devel_kit.git ../ndk-nginx-module
54  - git clone https://github.com/openresty/test-nginx.git
55  - git clone -b v2.1-agentzh https://github.com/openresty/luajit2.git
56  - git clone https://github.com/openresty/lua-nginx-module.git ../lua-nginx-module
57  - git clone https://github.com/openresty/echo-nginx-module.git ../echo-nginx-module
58  - git clone https://github.com/openresty/nginx-eval-module.git ../eval-nginx-module
59  - git clone https://github.com/openresty/xss-nginx-module.git ../xss-nginx-module
60  - git clone https://github.com/openresty/set-misc-nginx-module.git ../set-misc-nginx-module
61  - git clone https://github.com/openresty/array-var-nginx-module.git ../array-var-nginx-module
62  - git clone https://github.com/openresty/drizzle-nginx-module.git ../drizzle-nginx-module
63  - git clone https://github.com/calio/form-input-nginx-module.git ../form-input-nginx-module
64  - git clone https://github.com/openresty/ngx_postgres.git ../postgres-nginx-module
65  - git clone https://github.com/openresty/openresty.git ../ngx_openresty
66
67before_script:
68  - mysql -uroot -e 'create database ngx_test; grant all on ngx_test.* to "ngx_test"@"%" identified by "ngx_test"; flush privileges;'
69  - psql -c "create database ngx_test;" -U postgres
70  - psql -c "create user ngx_test with password 'ngx_test';" -U postgres
71  - psql -c "grant all privileges on database ngx_test to ngx_test;" -U postgres
72
73script:
74  - tar xzf download-cache/drizzle7-2011.07.21.tar.gz && cd drizzle7-2011.07.21
75  - ./configure --prefix=/usr --without-server > build.log 2>&1 || (cat build.log && exit 1)
76  - sudo PATH=$PATH make libdrizzle-1.0 install-libdrizzle-1.0 > build.log 2>&1 || (cat build.log && exit 1)
77  - cd ../luajit2
78  - 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)
79  - sudo make install PREFIX=$LUAJIT_PREFIX > build.log 2>&1 || (cat build.log && exit 1)
80  - cd ../test-nginx && sudo cpanm . && cd ..
81  - export PATH=$PWD/work/nginx/sbin:$PWD/nginx-devel-utils:$PATH
82  - export NGX_BUILD_CC=$CC
83  - sh util/build.sh $NGINX_VERSION > build.log 2>&1 || (cat build.log && exit 1)
84  - nginx -V
85  - prove -r t
86