sudo: required dist: xenial os: linux language: c compiler: - gcc - clang addons: apt: packages: - axel - dos2unix - cpanminus - libgd-dev linux-s390x: &linux-s390x os: linux arch: s390x dist: xenial compiler: gcc addons: apt: update: true packages: - axel - dos2unix - cpanminus - libgd-dev - libpcre3 - libpcre3-dev - mercurial - libpq-dev install: - sudo cpanm --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-* - ./configure --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 matrix: - OPENSSL_VER=1.0.2u OPENSSL_PATCH_VER=1.0.2h - OPENSSL_VER=1.1.0l OPENSSL_PATCH_VER=1.1.0d - OPENSSL_VER=1.1.1f OPENSSL_PATCH_VER=1.1.1f jobs: include: - <<: *linux-s390x env: OPENSSL_VER=1.0.2u OPENSSL_PATCH_VER=1.0.2h - <<: *linux-s390x env: OPENSSL_VER=1.1.0l OPENSSL_PATCH_VER=1.1.0d - <<: *linux-s390x env: OPENSSL_VER=1.1.1f OPENSSL_PATCH_VER=1.1.1f install: - sudo cpanm --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://ftp.pcre.org/pub/pcre/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-* - ./configure --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 -r t/