158 lines
6.9 KiB
C
158 lines
6.9 KiB
C
dist: bionic
|
|
|
|
branches:
|
|
only:
|
|
- "master"
|
|
|
|
os: linux
|
|
|
|
language: c
|
|
|
|
compiler:
|
|
- gcc
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- axel
|
|
- dos2unix
|
|
- libgd-dev
|
|
|
|
_linux-s390x: &linux-s390x
|
|
os: linux
|
|
arch: s390x
|
|
dist: bionic
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
update: true
|
|
packages:
|
|
- axel
|
|
- dos2unix
|
|
- libgd-dev
|
|
- libpcre3
|
|
- libpcre3-dev
|
|
- mercurial
|
|
- libpq-dev
|
|
before_install:
|
|
- sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
|
|
install:
|
|
- cpanm --sudo --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
|
|
- 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
|
|
- tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz
|
|
- cd openssl-$OPENSSL_VER/
|
|
- patch -p1 < ../patches/openssl-$OPENSSL_PATCH_VER-sess_set_get_cb_yield.patch
|
|
- ./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 ..
|
|
- sudo ln -s /usr/bin/make /usr/bin/gmake
|
|
script:
|
|
- util/mirror-tarballs > build.log 2>&1 || (cat build.log && exit 1)
|
|
- cd "openresty-$(./util/ver)"
|
|
- ./configure $ENABLE_HTTP3_OPTION --prefix=$OPENRESTY_PREFIX --with-cc-opt="-I$PCRE_INC -I$OPENSSL_INC" --with-ld-opt="-L$PCRE_LIB -L$OPENSSL_LIB -Wl,-rpath,$PCRE_LIB:$OPENSSL_LIB" --with-pcre-jit --with-http_ssl_module --with-debug -j$JOBS > build.log 2>&1 || (cat build.log && exit 1)
|
|
- make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1)
|
|
- sudo make install > build.log 2>&1 || (cat build.log && exit 1)
|
|
- cd ..
|
|
- export PATH=$OPENRESTY_PREFIX/bin:$OPENRESTY_PREFIX/nginx/sbin:$PATH
|
|
- nginx -V
|
|
- ldd `which nginx`|grep -E 'luajit|ssl|pcre'
|
|
- prove -I. -r t/
|
|
|
|
_linux-ppc64le: &linux-ppc64le
|
|
os: linux
|
|
arch: ppc64le
|
|
dist: bionic
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
update: true
|
|
packages:
|
|
- axel
|
|
- dos2unix
|
|
- libgd-dev
|
|
- libpcre3
|
|
- libpcre3-dev
|
|
- mercurial
|
|
- libpq-dev
|
|
install:
|
|
- cpanm --sudo --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
|
|
- 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
|
|
- tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz
|
|
- cd openssl-$OPENSSL_VER/
|
|
- patch -p1 < ../patches/openssl-$OPENSSL_PATCH_VER-sess_set_get_cb_yield.patch
|
|
- ./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 ..
|
|
- sudo ln -s /usr/bin/make /usr/bin/gmake
|
|
script:
|
|
- util/mirror-tarballs > build.log 2>&1 || (cat build.log && exit 1)
|
|
- cd "openresty-$(./util/ver)"
|
|
- ./configure $ENABLE_HTTP3_OPTION --prefix=$OPENRESTY_PREFIX --with-cc-opt="-I$PCRE_INC -I$OPENSSL_INC" --with-ld-opt="-L$PCRE_LIB -L$OPENSSL_LIB -Wl,-rpath,$PCRE_LIB:$OPENSSL_LIB" --with-pcre-jit --with-http_ssl_module --with-debug -j$JOBS > build.log 2>&1 || (cat build.log && exit 1)
|
|
- make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1)
|
|
- sudo make install > build.log 2>&1 || (cat build.log && exit 1)
|
|
- cd ..
|
|
- export PATH=$OPENRESTY_PREFIX/bin:$OPENRESTY_PREFIX/nginx/sbin:$PATH
|
|
- nginx -V
|
|
- ldd `which nginx`|grep -E 'luajit|ssl|pcre'
|
|
|
|
cache:
|
|
directories:
|
|
- download-cache
|
|
|
|
env:
|
|
global:
|
|
- JOBS=3
|
|
- PCRE_VER=8.44
|
|
- PCRE_PREFIX=/opt/pcre
|
|
- PCRE_LIB=$PCRE_PREFIX/lib
|
|
- PCRE_INC=$PCRE_PREFIX/include
|
|
- OPENSSL_PREFIX=/opt/ssl
|
|
- OPENSSL_LIB=$OPENSSL_PREFIX/lib
|
|
- OPENSSL_INC=$OPENSSL_PREFIX/include
|
|
- OPENRESTY_PREFIX=/opt/openresty
|
|
jobs:
|
|
- OPENSSL_VER=1.1.0l OPENSSL_PATCH_VER=1.1.0d
|
|
- OPENSSL_VER=1.1.1s OPENSSL_PATCH_VER=1.1.1f ENABLE_HTTP3_OPTION=--with-http_v3_module
|
|
|
|
jobs:
|
|
include:
|
|
- <<: *linux-s390x
|
|
env: OPENSSL_VER=1.1.0l OPENSSL_PATCH_VER=1.1.0d
|
|
- <<: *linux-s390x
|
|
env: OPENSSL_VER=1.1.1l OPENSSL_PATCH_VER=1.1.1f ENABLE_HTTP3_OPTION=--with-http_v3_module
|
|
- <<: *linux-ppc64le
|
|
env: OPENSSL_VER=1.1.1s OPENSSL_PATCH_VER=1.1.1f ENABLE_HTTP3_OPTION=--with-http_v3_module
|
|
|
|
install:
|
|
- cpanm --sudo --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
|
|
- if [ ! -f download-cache/pcre-$PCRE_VER.tar.gz ]; then wget -P download-cache https://downloads.sourceforge.net/project/pcre/pcre/${PCRE_VER}/pcre-${PCRE_VER}.tar.gz; fi
|
|
- 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
|
|
- 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 ..
|
|
- tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz
|
|
- cd openssl-$OPENSSL_VER/
|
|
- patch -p1 < ../patches/openssl-$OPENSSL_PATCH_VER-sess_set_get_cb_yield.patch
|
|
- ./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 ..
|
|
- sudo ln -s /usr/bin/make /usr/bin/gmake
|
|
|
|
script:
|
|
- util/mirror-tarballs > build.log 2>&1 || (cat build.log && exit 1)
|
|
- cd "openresty-$(./util/ver)"
|
|
- ./configure $ENABLE_HTTP3_OPTION --prefix=$OPENRESTY_PREFIX --with-cc-opt="-I$PCRE_INC -I$OPENSSL_INC" --with-ld-opt="-L$PCRE_LIB -L$OPENSSL_LIB -Wl,-rpath,$PCRE_LIB:$OPENSSL_LIB" --with-pcre-jit --with-http_ssl_module --with-debug -j$JOBS > build.log 2>&1 || (cat build.log && exit 1)
|
|
- make -j$JOBS > build.log 2>&1 || (cat build.log && exit 1)
|
|
- sudo make install > build.log 2>&1 || (cat build.log && exit 1)
|
|
- cd ..
|
|
- export PATH=$OPENRESTY_PREFIX/bin:$OPENRESTY_PREFIX/nginx/sbin:$PATH
|
|
- nginx -V
|
|
- ldd `which nginx`|grep -E 'luajit|ssl|pcre'
|
|
- prove -I. -r t/
|