language: c os: - linux dist: - bionic cache: directories: - /home/travis/perl5 - /home/travis/root # The non-x86_64 images currently lack cpanminus, when that is fixed # the cpanminus & universe sourceline can be removed. addons: apt: update: false sources: - sourceline: 'deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe' packages: - cpanminus - libtool-bin - libapr1-dev - libaprutil1-dev - perl-doc - lua5.3-dev - libbrotli-dev - libcurl4-openssl-dev - libsystemd-dev - libnghttp2-dev - libjansson-dev - libpcre2-dev env: global: - MFLAGS=-j2 matrix: include: - name: Linux Ubuntu, Default module set # ------------------------------------------------------------------------- - name: Linux s390x Ubuntu, all-modules arch: s390x env: CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - name: Linux ppc64le Ubuntu, all-modules arch: ppc64le env: CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - name: Linux arm64 Ubuntu, all-modules arch: arm64 env: CONFIG="--enable-mods-shared=reallyall" TEST_ARGS="-v" # ------------------------------------------------------------------------- - name: Linux Ubuntu, Default, all-modules env: CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - name: Linux Ubuntu, Default, all-modules, random test order env: CONFIG="--enable-mods-shared=reallyall" TEST_ARGS="-order=random" # ------------------------------------------------------------------------- - name: Linux Ubuntu, Prefork MPM, all-modules env: CONFIG="--enable-mods-shared=reallyall --with-mpm=prefork" # ------------------------------------------------------------------------- - name: Linux Ubuntu, Worker MPM, all-modules env: CONFIG="--enable-mods-shared=reallyall --with-mpm=worker" # ------------------------------------------------------------------------- - name: Linux Ubuntu, Shared MPMs, all-modules env: CONFIG="--enable-mods-shared=reallyall --enable-mpms-shared=all" # ------------------------------------------------------------------------- - name: Linux Ubuntu, GCC 7 maintainer-mode w/-Werror os: linux env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode NOTEST_CFLAGS=-Werror CC=gcc-7" SKIP_TESTING=1 # ------------------------------------------------------------------------- - if: branch != 2.4.x name: Linux Ubuntu, PCRE 1, GCC 7 maintainer-mode w/-Werror os: linux env: CONFIG="--enable-mods-shared=reallyall --with-pcre=/usr/bin/pcre-config --enable-maintainer-mode NOTEST_CFLAGS=-Werror CC=gcc-7" # ------------------------------------------------------------------------- - name: Linux Ubuntu, GCC 8 maintainer-mode w/-Werror env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode NOTEST_CFLAGS=-Werror CC=gcc-8" SKIP_TESTING=1 addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-8 - libtool-bin - libapr1-dev - libaprutil1-dev - perl-doc - lua5.3-dev - libbrotli-dev - libcurl4-openssl-dev - libsystemd-dev - libnghttp2-dev - libjansson-dev - libpcre2-dev # ------------------------------------------------------------------------- # MFLAGS= works around https://bz.apache.org/bugzilla/show_bug.cgi?id=63942 - if: branch != 2.4.x name: Linux Ubuntu, Regenerate ap_expr os: linux env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode NOTEST_CFLAGS=-Werror" BUILDCONFIG="--with-regen-expr" MFLAGS= # ------------------------------------------------------------------------- - if: branch != 2.4.x name: Linux Ubuntu, APR trunk env: APR_VERSION=trunk APR_CONFIG="--with-crypto" CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - if: branch = 2.4.x name: Linux Ubuntu Xenial, all-modules, system APR/APR-util os: linux dist: xenial env: CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - name: Linux Ubuntu Xenial, all-modules, APR 1.7.0, APR-util 1.6.1 dist: xenial env: APR_VERSION=1.7.0 APU_VERSION=1.6.1 CONFIG="--enable-mods-shared=reallyall" APU_CONFIG="--with-crypto" # ------------------------------------------------------------------------- - name: Linux Ubuntu, APR 1.7.0, APR-util 1.6.1 env: APR_VERSION=1.7.0 APU_VERSION=1.6.1 CONFIG="--enable-mods-shared=reallyall" APU_CONFIG="--with-crypto" # ------------------------------------------------------------------------- - name: Linux Ubuntu, APR 1.7.x, APR-util 1.7.x env: APR_VERSION=1.7.x APU_VERSION=1.7.x CONFIG="--enable-mods-shared=reallyall" APU_CONFIG="--with-crypto" CLEAR_CACHE=1 # ------------------------------------------------------------------------- - name: Linux Ubuntu, APR 1.7.0 --enable-pool-debug, APR-util 1.6.1 env: APR_VERSION=1.7.0 APR_CONFIG="--enable-pool-debug" APU_VERSION=1.6.1 APU_CONFIG="--with-crypto" CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - name: Linux Ubuntu, litmus WebDAV tests env: CONFIG="--enable-dav --enable-dav-fs" LITMUS=1 TEST_ARGS="t/modules/dav.t" addons: apt: update: false sources: - sourceline: 'deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe' packages: - cpanminus - libtool-bin - libapr1-dev - libaprutil1-dev - perl-doc - lua5.3-dev - libbrotli-dev - libcurl4-openssl-dev - libsystemd-dev - libnghttp2-dev - libjansson-dev - libpcre2-dev - litmus # ------------------------------------------------------------------------- - if: branch = 2.4.x name: Linux Ubuntu, APR 1.5.1, APR-util 1.5.4 env: APR_VERSION=1.5.1 APU_VERSION=1.5.4 CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - if: branch = 2.4.x name: Linux Ubuntu, APR 1.4.8, APR-util 1.4.2 env: APR_VERSION=1.4.8 APU_VERSION=1.4.2 CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- before_install: - if [ "$TRAVIS_OS_NAME" = "linux" ]; then cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib); cpanm --notest Net::SSL LWP::Protocol::https ExtUtils::Embed Test::More AnyEvent DateTime HTTP::DAV Protocol::HTTP2::Client FCGI; fi before_script: - ./test/travis_before_${TRAVIS_OS_NAME}.sh script: - ./test/travis_run_${TRAVIS_OS_NAME}.sh notifications: irc: "chat.freenode.net#httpd-dev" # Disabled to avoid too many failure emails to dev@, # some builds occasionally fail. email: - dev@httpd.apache.org