You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2019/11/08 12:50:16 UTC
svn commit: r1869554 - in /httpd/httpd/branches/2.4.x: ./ .travis.yml
test/README.travis test/travis_before_linux.sh test/travis_run_linux.sh
Author: jorton
Date: Fri Nov 8 12:50:16 2019
New Revision: 1869554
URL: http://svn.apache.org/viewvc?rev=1869554&view=rev
Log:
Merge r1869387, r1869441, r1869456, r1869459, r1869527, r1869533, r1869539, r1869540, r1869548, r1869550 from trunk:
Add a basic Travis config.
Pull in more -dev packages to get more modules building (including mod_md).
Test gcc 7 on bionic, xenial is the Travis default anyway.
Only add the toolchain PPA where really needed.
Update travis config
* Add 'if TRAVIS_OS_NAME' to before_install/before_script/script to allow multi-os testing.
* Add separation lines in matrix config (better visual impact).
* Add Linux to all the current job's name.
* Add tests for Worker mpm.
Move before/run scripts out of .travis.yml.
Reviewed by: elukey
Support 2.4.x builds, which lacks --with-test-suite support.
Build with --enable-load-all-modules only when the test suite is run.
Add Travis support for multiple APR/APR-util versions.
Add an APR build with --enable-pool-debug.
Build all modules when testing APR variations.
Build APR-util 1.6.x --with-crypto otherwise the "mod_crypto" build fails,
though this is a bug: https://travis-ci.org/apache/httpd/jobs/609166867
Add APR 1.4/APR-util 1.4 build, but only for 2.4.x.
Start sketching out some travis docs and check we can -> [skip ci]
Submitted by: jorton, elukey
Added:
httpd/httpd/branches/2.4.x/.travis.yml
- copied, changed from r1869387, httpd/httpd/trunk/.travis.yml
httpd/httpd/branches/2.4.x/test/README.travis
- copied unchanged from r1869550, httpd/httpd/trunk/test/README.travis
httpd/httpd/branches/2.4.x/test/travis_before_linux.sh
- copied, changed from r1869459, httpd/httpd/trunk/test/travis_before_linux.sh
httpd/httpd/branches/2.4.x/test/travis_run_linux.sh
- copied, changed from r1869459, httpd/httpd/trunk/test/travis_run_linux.sh
Modified:
httpd/httpd/branches/2.4.x/ (props changed)
Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
Merged /httpd/httpd/trunk:r1869387,1869441,1869456,1869459,1869527,1869533,1869539-1869540,1869548,1869550
Copied: httpd/httpd/branches/2.4.x/.travis.yml (from r1869387, httpd/httpd/trunk/.travis.yml)
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/.travis.yml?p2=httpd/httpd/branches/2.4.x/.travis.yml&p1=httpd/httpd/trunk/.travis.yml&r1=1869387&r2=1869554&rev=1869554&view=diff
==============================================================================
--- httpd/httpd/trunk/.travis.yml (original)
+++ httpd/httpd/branches/2.4.x/.travis.yml Fri Nov 8 12:50:16 2019
@@ -4,53 +4,94 @@ os:
cache:
directories:
- /home/travis/perl5
+ - /home/travis/root
addons:
apt:
- sources:
- - ubuntu-toolchain-r-test
packages:
- - libtool
- libtool-bin
- libapr1-dev
- libaprutil1-dev
- perl-doc
- lua5.3-dev
- libbrotli-dev
+ - libcurl4-openssl-dev
+ - libsystemd-dev
- libnghttp2-dev
- - gcc-7
- - gcc-8
+ - libjansson-dev
matrix:
include:
- - name: Default module set
- - name: Default, all-modules
- env: CONFIG="--enable-mods-shared=reallyall --enable-load-all-modules"
- - name: Prefork MPM, all-modules
- env: CONFIG="--enable-mods-shared=reallyall --enable-load-all-modules --with-mpm=prefork"
- - name: Xenial, all-modules
+ - name: Linux Ubuntu, Default module set
+ # -------------------------------------------------------------------------
+ - name: Linux Ubuntu, Default, all-modules
+ env: CONFIG="--enable-mods-shared=reallyall"
+ # -------------------------------------------------------------------------
+ - 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 Bionic, all-modules
os: linux
- dist: xenial
- env: CONFIG="--enable-mods-shared=reallyall --enable-load-all-modules"
- - name: GCC 7 maintainer-mode w/-Werror
- env: CONFIG="--enable-mods-shared=reallyall --enable-load-all-modules --enable-maintainer-mode NOTEST_CFLAGS=-Werror CC=gcc-7"
+ dist: bionic
+ env: CONFIG="--enable-mods-shared=reallyall"
+ # -------------------------------------------------------------------------
+ - name: Linux Ubuntu Bionic, GCC 7 maintainer-mode w/-Werror
+ os: linux
+ dist: bionic
+ env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode NOTEST_CFLAGS=-Werror CC=gcc-7"
SKIP_TESTING=1
- - name: GCC 8 maintainer-mode w/-Werror
- env: CONFIG="--enable-mods-shared=reallyall --enable-load-all-modules --enable-maintainer-mode NOTEST_CFLAGS=-Werror CC=gcc-8"
+ # -------------------------------------------------------------------------
+ - 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
+ # -------------------------------------------------------------------------
+ - 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.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, 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:
- - 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
+ - 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:
- - svn export -q https://svn.apache.org/repos/asf/apr/apr/trunk srclib/apr
- - test -v SKIP_TESTING || svn export -q https://svn.apache.org/repos/asf/httpd/test/framework/trunk test/perl-framework
+ - ./test/travis_before_${TRAVIS_OS_NAME}.sh
script:
- - ./buildconf
- - test -v SKIP_TESTING || CONFIG="--with-test-suite=test/perl-framework $CONFIG"
- - ./configure $CONFIG --with-apr=/usr --with-apr-util=/usr
- - make $MAKEFLAGS -j2
- - test -v SKIP_TESTING || make check
-
+ - ./test/travis_run_${TRAVIS_OS_NAME}.sh
Copied: httpd/httpd/branches/2.4.x/test/travis_before_linux.sh (from r1869459, httpd/httpd/trunk/test/travis_before_linux.sh)
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/test/travis_before_linux.sh?p2=httpd/httpd/branches/2.4.x/test/travis_before_linux.sh&p1=httpd/httpd/trunk/test/travis_before_linux.sh&r1=1869459&r2=1869554&rev=1869554&view=diff
==============================================================================
--- httpd/httpd/trunk/test/travis_before_linux.sh (original)
+++ httpd/httpd/branches/2.4.x/test/travis_before_linux.sh Fri Nov 8 12:50:16 2019
@@ -1,5 +1,39 @@
#!/bin/bash -ex
-svn export -q https://svn.apache.org/repos/asf/apr/apr/trunk srclib/apr
if ! test -v SKIP_TESTING; then
svn export -q https://svn.apache.org/repos/asf/httpd/test/framework/trunk test/perl-framework
fi
+if test -v APR_VERSION; then
+ if ! test -d $HOME/root/apr-${APR_VERSION}; then
+ case $APR_VERSION in
+ trunk) url=https://svn.apache.org/repos/asf/apr/apr/trunk ;;
+ *) url=https://svn.apache.org/repos/asf/apr/apr/tags/${APR_VERSION} ;;
+ esac
+ svn export -q ${url} $HOME/build/apr-${APR_VERSION}
+ pushd $HOME/build/apr-${APR_VERSION}
+ if [ $APR_VERSION = 1.4.1 ]; then
+ # 1.4.1 doesn't build with current libtool
+ svn cat https://svn.apache.org/repos/asf/apr/apr/tags/1.5.1/buildconf > buildconf
+ fi
+ ./buildconf
+ ./configure ${APR_CONFIG} --prefix=$HOME/root/apr-${APR_VERSION}
+ make -j2
+ make install
+ popd
+ APU_CONFIG="$APU_CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}"
+ fi
+fi
+if test -v APU_VERSION; then
+ if ! test -d $HOME/root/apu-${APU_VERSION}; then
+ case $APU_VERSION in
+ trunk) url=https://svn.apache.org/repos/asf/apr/apr-util/trunk ;;
+ *) url=https://svn.apache.org/repos/asf/apr/apr-util/tags/${APU_VERSION} ;;
+ esac
+ svn export -q ${url} $HOME/build/apu-${APU_VERSION}
+ pushd $HOME/build/apu-${APU_VERSION}
+ ./buildconf --with-apr=$HOME/build/apr-${APR_VERSION}
+ ./configure ${APU_CONFIG} --prefix=$HOME/root/apu-${APU_VERSION}
+ make -j2
+ make install
+ popd
+ fi
+fi
Copied: httpd/httpd/branches/2.4.x/test/travis_run_linux.sh (from r1869459, httpd/httpd/trunk/test/travis_run_linux.sh)
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/test/travis_run_linux.sh?p2=httpd/httpd/branches/2.4.x/test/travis_run_linux.sh&p1=httpd/httpd/trunk/test/travis_run_linux.sh&r1=1869459&r2=1869554&rev=1869554&view=diff
==============================================================================
--- httpd/httpd/trunk/test/travis_run_linux.sh (original)
+++ httpd/httpd/branches/2.4.x/test/travis_run_linux.sh Fri Nov 8 12:50:16 2019
@@ -1,6 +1,35 @@
#!/bin/bash -ex
-./buildconf
-test -v SKIP_TESTING || CONFIG="--with-test-suite=test/perl-framework $CONFIG"
-./configure $CONFIG --with-apr=/usr --with-apr-util=/usr
+./buildconf --with-apr=/usr/bin/apr-1-config
+# For trunk, "make check" is sufficient to run the test suite.
+# For 2.4.x, the test suite must be run manually
+if test ! -v SKIP_TESTING; then
+ CONFIG="$CONFIG --enable-load-all-modules"
+ if grep -q ^check: Makefile.in; then
+ CONFIG="--with-test-suite=test/perl-framework $CONFIG"
+ WITH_TEST_SUITE=1
+ else
+ CONFIG="--prefix=$HOME/build/httpd-root $CONFIG"
+ fi
+fi
+if test -v APR_VERSION; then
+ CONFIG="$CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}"
+else
+ CONFIG="$CONFIG --with-apr=/usr"
+fi
+if test -v APU_VERSION; then
+ CONFIG="$CONFIG --with-apr-util=$HOME/root/apu-${APU_VERSION}"
+else
+ CONFIG="$CONFIG --with-apr-util=/usr"
+fi
+./configure $CONFIG
make $MAKEFLAGS -j2
-test -v SKIP_TESTING || make check
+if ! test -v SKIP_TESTING; then
+ if test -v WITH_TEST_SUITE; then
+ make check
+ else
+ make install
+ cd test/perl-framework
+ perl Makefile.PL -apxs $HOME/build/httpd-root/bin/apxs
+ make test
+ fi
+fi