You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openresty/.travis.yml

85 lines
2.8 KiB
C

dist: focal
branches:
only:
- "master"
os: linux
arch:
- amd64
- arm64
- s390x
- ppc64le
language: c
compiler:
- gcc
addons:
apt:
packages:
- axel
- dos2unix
- libgd-dev
- dos2unix
- libpcre3
- libpcre3-dev
- mercurial
- libpq-dev
before_install:
- sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
cache:
directories:
- download-cache
env:
global:
- JOBS=3
- PCRE_VER=10.44
- PCRE_PREFIX=/opt/pcre2
- PCRE_LIB=$PCRE_PREFIX/lib
- PCRE_INC=$PCRE_PREFIX/include
- OPENSSL_PREFIX=/opt/ssl3
- OPENSSL_LIB=$OPENSSL_PREFIX/lib
- OPENSSL_INC=$OPENSSL_PREFIX/include
- OPENRESTY_PREFIX=/opt/openresty
jobs:
- OPENSSL_VER=3.4.1 OPENSSL_PATCH_VER=3.4.1
install:
- cpanm --sudo --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
- |
if [ "$TRAVIS_CPU_ARCH" != "s390x" ]; then
if [ ! -f download-cache/pcre2-$PCRE_VER.tar.gz ]; then wget -P download-cache https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${PCRE_VER}/pcre2-${PCRE_VER}.tar.gz; fi
tar zxf download-cache/pcre2-$PCRE_VER.tar.gz
cd pcre2-$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
- if [ ! -f download-cache/openssl-$OPENSSL_VER.tar.gz ]; then wget -P download-cache https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL_VER}/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 --with-http_v3_module --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/