@@ -19,6 +19,10 @@ addons:
1919 - axel
2020 - luarocks
2121 - daemonize
22+ - lsb-release
23+ - wget
24+ - gnupg
25+ - ca-certificates
2226
2327cache :
2428 directories :
3337 - LUAJIT_INC=$LUAJIT_PREFIX/include/luajit-2.1
3438 - LUA_INCLUDE_DIR=$LUAJIT_INC
3539 - LUA_CMODULE_DIR=/lib
36- - PCRE_VER=8.45
37- - PCRE2_VER=10.37
38- - PCRE_PREFIX=/opt/pcre
39- - PCRE2_PREFIX=/opt/pcre2
40- - PCRE_LIB=$PCRE_PREFIX/lib
40+ - PCRE2_VER=10.45
41+ # - PCRE2_PREFIX=/opt/pcre2
42+ - PCRE2_PREFIX=/usr/local/openresty/pcre2
4143 - PCRE2_LIB=$PCRE2_PREFIX/lib
42- - PCRE_INC=$PCRE_PREFIX/include
4344 - PCRE2_INC=$PCRE2_PREFIX/include
44- - OPENSSL_PREFIX=/opt/ssl
45+ # - OPENSSL_PREFIX=/opt/ssl3
46+ - OPENSSL_PREFIX=/usr/local/openresty/openssl3
4547 - OPENSSL_LIB=$OPENSSL_PREFIX/lib
4648 - OPENSSL_INC=$OPENSSL_PREFIX/include
4749 - LD_LIBRARY_PATH=$LUAJIT_LIB:$LD_LIBRARY_PATH
4850 - TEST_NGINX_SLEEP=0.005
4951 - TEST_NGINX_RANDOMIZE=1
5052 - LUACHECK_VER=0.21.1
5153 matrix :
52- - NGINX_VERSION=1.27.1 OPENSSL_VER=1.1.1w OPENSSL_PATCH_VER=1.1.1f USE_PCRE2=Y
53- - NGINX_VERSION=1.25.3 OPENSSL_VER=1.1.1w OPENSSL_PATCH_VER=1.1.1f
54+ - NGINX_VERSION=1.27.1 OPENSSL_VER=3.5.0 OPENSSL_PATCH_VER=3.5.0
5455
5556services :
5657 - memcache
@@ -61,12 +62,15 @@ before_install:
6162 - ' ! grep -n -P '' (?<=.{80}).+'' --color `find . -name '' *.lua'' ` || (echo "ERROR: Found Lua source lines exceeding 80 columns." > /dev/stderr; exit 1)'
6263 - ' ! grep -n -P '' \t+'' --color `find . -name '' *.lua'' ` || (echo "ERROR: Cannot use tabs." > /dev/stderr; exit 1)'
6364 - cpanm --sudo --notest Test::Nginx IPC::Run > build.log 2>&1 || (cat build.log && exit 1)
65+ - wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
66+ - echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/openresty.list
67+ - sudo apt-get update
68+ - sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends openresty-pcre2 openresty-openssl3 openresty-pcre2-dev openresty-openssl3-dev
6469
6570install :
6671 - if [ ! -d download-cache ]; then mkdir download-cache; fi
67- - if [ ! -f download-cache/openssl-$OPENSSL_VER.tar.gz ]; then wget -P download-cache https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz || wget -P download-cache https://www.openssl.org/source/old/${OPENSSL_VER//[a-z]/}/openssl-$OPENSSL_VER.tar.gz; fi
68- - if [ "$USE_PCRE2" != "Y" ] && [ ! -f download-cache/pcre-$PCRE_VER.tar.gz ]; then wget -P download-cache http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-$PCRE_VER.tar.gz; fi
69- - if [ "$USE_PCRE2" = "Y" ] && [ ! -f download-cache/pcre2-$PCRE2_VER.tar.gz ]; then wget -P download-cache https://downloads.sourceforge.net/project/pcre/pcre2/${PCRE2_VER}/pcre2-${PCRE2_VER}.tar.gz; fi
72+ # - if [ ! -f download-cache/openssl-$OPENSSL_VER.tar.gz ]; then wget -P download-cache https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz || wget -P download-cache https://www.openssl.org/source/old/${OPENSSL_VER//[a-z]/}/openssl-$OPENSSL_VER.tar.gz; fi
73+ # - if [ ! -f download-cache/pcre2-$PCRE2_VER.tar.gz ]; then wget -P download-cache https://downloads.sourceforge.net/project/pcre/pcre2/${PCRE2_VER}/pcre2-${PCRE2_VER}.tar.gz; fi
7074 - git clone https://github.com/openresty/openresty.git ../openresty
7175 - git clone https://github.com/openresty/openresty-devel-utils.git
7276 - git clone https://github.com/simpl/ngx_devel_kit.git ../ndk-nginx-module
@@ -87,27 +91,15 @@ script:
8791 - sudo make install PREFIX=$LUAJIT_PREFIX > build.log 2>&1 || (cat build.log && exit 1)
8892 - cd ..
8993 - cd lua-resty-lrucache && sudo make DESTDIR=$LUAJIT_PREFIX LUA_LIB_DIR=/share/lua/5.1 install && cd ..
90- - tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz
91- - cd openssl-$OPENSSL_VER/
92- - if [ -n "$OPENSSL_PATCH_VER" ]; then patch -p1 < ../../openresty/patches/openssl-$OPENSSL_PATCH_VER-sess_set_get_cb_yield.patch; fi
93- - ./config no-threads shared enable-ssl3 enable-ssl3-method -g --prefix=$OPENSSL_PREFIX -DPURIFY > build.log 2>&1 || (cat build.log && exit 1)
94- - make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1)
95- - sudo make PATH=$PATH install_sw > build.log 2>&1 || (cat build.log && exit 1)
96- - cd ../mockeagain/ && make CC=$CC -j$JOBS && cd ..
97- - if [ "$USE_PCRE2" != "Y" ]; then tar zxf download-cache/pcre-$PCRE_VER.tar.gz; cd pcre-$PCRE_VER/; ./configure --prefix=$PCRE_PREFIX --enable-jit --enable-utf --enable-unicode-properties > build.log 2>&1 || (cat build.log && exit 1); make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1); sudo PATH=$PATH make install > build.log 2>&1 || (cat build.log && exit 1); cd ..; fi
98- - if [ "$USE_PCRE2" = "Y" ]; then tar zxf download-cache/pcre2-$PCRE2_VER.tar.gz; cd pcre2-$PCRE2_VER/; ./configure --prefix=$PCRE2_PREFIX --enable-jit --enable-utf > build.log 2>&1 || (cat build.log && exit 1); make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1); sudo PATH=$PATH make install > build.log 2>&1 || (cat build.log && exit 1); cd ..; fi
94+ # - tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz; cd openssl-$OPENSSL_VER/; if [ -n "$OPENSSL_PATCH_VER" ]; then patch -p1 < ../../openresty/patches/openssl-$OPENSSL_PATCH_VER-sess_set_get_cb_yield.patch; fi; ./config no-threads shared enable-ssl3 enable-ssl3-method -g --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 ..
95+ - cd mockeagain/ && make CC=$CC -j$JOBS && cd ..
96+ # - tar zxf download-cache/pcre2-$PCRE2_VER.tar.gz; cd pcre2-$PCRE2_VER/; ./configure --prefix=$PCRE2_PREFIX --enable-jit --enable-utf > build.log 2>&1 || (cat build.log && exit 1); make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1); sudo PATH=$PATH make install > build.log 2>&1 || (cat build.log && exit 1); cd ..;
9997 - export PATH=$PWD/work/nginx/sbin:$PWD/openresty-devel-utils:$PATH
10098 - export LD_PRELOAD=$PWD/mockeagain/mockeagain.so
10199 - export LD_LIBRARY_PATH=$PWD/mockeagain:$LD_LIBRARY_PATH
102100 - export TEST_NGINX_RESOLVER=8.8.4.4
103101 - export NGX_BUILD_CC=$CC
104- - export add_http3_module=--with-http_v3_module
105- - export disable_pcre2=--without-pcre2
106- - answer=`util/ver-ge "$NGINX_VERSION" 1.25.1`
107- - if [ "$OPENSSL_VER" = "1.1.0l" ] || [ "$answer" = "N" ]; then add_http3_module=""; fi
108- - if [ "$answer" = "N" ] || [ "$USE_PCRE2" = "Y" ]; then disable_pcre2=""; fi
109- - if [ "$USE_PCRE2" = "Y" ]; then PCRE_INC=$PCRE2_INC; PCRE_LIB=$PCRE2_LIB; fi
110- - ngx-build $NGINX_VERSION $disable_pcre2 $add_http3_module --with-http_v2_module --with-http_realip_module --with-http_ssl_module --with-pcre-jit --with-cc-opt="-I$OPENSSL_INC -I$PCRE_INC" --with-ld-opt="-L$OPENSSL_LIB -Wl,-rpath,$OPENSSL_LIB -L$PCRE_LIB -Wl,-rpath,$PCRE_LIB" --add-module=../ndk-nginx-module --add-module=../echo-nginx-module --add-module=../set-misc-nginx-module --add-module=../headers-more-nginx-module --add-module=../lua-nginx-module --with-debug --with-stream_ssl_module --with-stream --with-ipv6 --add-module=../stream-lua-nginx-module > build.log 2>&1 || (cat build.log && exit 1)
102+ - ngx-build $NGINX_VERSION --with-http_v3_module --with-http_v2_module --with-http_realip_module --with-http_ssl_module --with-pcre-jit --with-cc-opt="-I$OPENSSL_INC -I$PCRE2_INC" --with-ld-opt="-L$OPENSSL_LIB -Wl,-rpath,$OPENSSL_LIB -L$PCRE2_LIB -Wl,-rpath,$PCRE2_LIB" --add-module=../ndk-nginx-module --add-module=../echo-nginx-module --add-module=../set-misc-nginx-module --add-module=../headers-more-nginx-module --add-module=../lua-nginx-module --with-debug --with-stream_ssl_module --with-stream --with-ipv6 --add-module=../stream-lua-nginx-module > build.log 2>&1 || (cat build.log && exit 1)
111103 - nginx -V
112104 - ldd `which nginx`|grep -E 'luajit|ssl|pcre'
113105 - prove -I. -Itest-nginx/lib -j$JOBS -r t
0 commit comments