From b44bd8e1efb2518380b95220818d8643c7cfd845 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Fri, 2 Mar 2018 10:56:57 +0100 Subject: [PATCH] new build matrix --- .travis.yml | 81 +++++++------------------------------- scripts/gen_travis_yml.php | 56 +++++++++++++++++++++----- travis/brotli.sh | 16 ++++---- travis/pecl | 2 +- 4 files changed, 71 insertions(+), 84 deletions(-) diff --git a/.travis.yml b/.travis.yml index e1a5dd0..0ed05c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,73 +14,22 @@ addons: - libicu-dev - libevent-dev +compiler: + - gcc + - clang + env: - - PHP=7.0 enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=no with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=no enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=yes enable_json=no enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.0 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.1 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=7.2 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli - - PHP=master enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libicu_dir=yes with_http_libbrotli_dir=/home/travis/brotli -# once with gcov - - CFLAGS="-O0 -g --coverage" CXXFLAGS="-O0 -g --coverage" PHP=master with_http_libbrotli_dir=/home/travis/brotli enable_json=yes enable_hash=yes enable_iconv=yes + - PHP=7.0 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli + - PHP=7.1 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli + - PHP=master enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli + - PHP=7.2 with_http_libicu_dir=no with_http_libidn_dir=no with_http_libidn2_dir=no with_http_libcurl_dir=no with_http_libevent_dir=no + - PHP=7.2 enable_debug=no enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli + - PHP=7.2 enable_debug=yes enable_maintainer_zts=no enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli + - PHP=7.2 enable_debug=no enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli + - PHP=7.2 enable_debug=yes enable_maintainer_zts=yes enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli + - CFLAGS='-O0 -g --coverage' CXXFLAGS='-O0 -g --coverage' PHP=7.2 enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli with_http_libicu_dir=yes with_http_libidn_dir=no with_http_libidn2_dir=no + - CFLAGS='-O0 -g --coverage' CXXFLAGS='-O0 -g --coverage' PHP=7.2 enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli with_http_libidn_dir=yes with_http_libicu_dir=no with_http_libidn2_dir=no + - CFLAGS='-O0 -g --coverage' CXXFLAGS='-O0 -g --coverage' PHP=7.2 enable_json=yes enable_hash=yes enable_iconv=yes with_http_libbrotli_dir=/home/travis/brotli with_http_libidn2_dir=yes with_http_libicu_dir=no with_http_libidn_dir=no before_script: - ./travis/brotli.sh diff --git a/scripts/gen_travis_yml.php b/scripts/gen_travis_yml.php index 7ab5174..b1e4135 100755 --- a/scripts/gen_travis_yml.php +++ b/scripts/gen_travis_yml.php @@ -15,27 +15,63 @@ addons: - libicu-dev - libevent-dev +compiler: + - gcc + - clang + env: ["7.0", "7.1", "7.2", "master"], +// most useful for all additional versions except current + "PHP" => ["7.0", "7.1", "master"], + "enable_debug" => "yes", + "enable_maintainer_zts" => "yes", + "enable_json" => "yes", + "enable_hash" => "yes", + "enable_iconv" => "yes", + "with_http_libbrotli_dir" => "/home/travis/brotli" +], [ +// everything disabled for current + "PHP" => $cur, + "with_http_libicu_dir" => "no", + "with_http_libidn_dir" => "no", + "with_http_libidn2_dir" => "no", + "with_http_libcurl_dir" => "no", + "with_http_libevent_dir" => "no", +], [ +// everything enabled for current, switching on debug/zts + "PHP" => $cur, "enable_debug", "enable_maintainer_zts", - "enable_json", - "enable_hash" => ["yes"], - "enable_iconv" => ["yes"], - "with_http_libicu_dir", - "with_http_libbrotli_dir" => ["/home/travis/brotli"] + "enable_json" => "yes", + "enable_hash" => "yes", + "enable_iconv" => "yes", + "with_http_libbrotli_dir" => "/home/travis/brotli", +], [ +// once everything enabled for current, with coverage + "CFLAGS" => "'-O0 -g --coverage'", + "CXXFLAGS" => "'-O0 -g --coverage'", + "PHP" => $cur, + "enable_json" => "yes", + "enable_hash" => "yes", + "enable_iconv" => "yes", + "with_http_libbrotli_dir" => "/home/travis/brotli", + [ + "with_http_libicu_dir", + "with_http_libidn_dir", + "with_http_libidn2_dir", + ], ]); -foreach ($env as $e) { - printf(" - %s\n", $e); +foreach ($env as $grp) { + foreach ($grp as $e) { + printf(" - %s\n", $e); + } } ?> -# once with gcov - - CFLAGS="-O0 -g --coverage" CXXFLAGS="-O0 -g --coverage" PHP=master with_http_libbrotli_dir=/home/travis/brotli enable_json=yes enable_hash=yes enable_iconv=yes before_script: - ./travis/brotli.sh diff --git a/travis/brotli.sh b/travis/brotli.sh index 4fec33e..322a3c3 100755 --- a/travis/brotli.sh +++ b/travis/brotli.sh @@ -1,9 +1,11 @@ #!/bin/bash -git clone https://github.com/google/brotli.git /home/travis/brotli.git -cd /home/travis/brotli.git -git checkout v1.0.2 -./bootstrap -./configure --prefix=/home/travis/brotli -make -j2 -make install +if test -n "$with_http_libbrotli_dir" && test "$with_http_libbrotli_dir" != "no"; then + git clone https://github.com/google/brotli.git /home/travis/brotli.git + cd /home/travis/brotli.git + git checkout v1.0.2 + ./bootstrap + ./configure --prefix=/home/travis/brotli + make -j2 + make install +fi diff --git a/travis/pecl b/travis/pecl index 8f5ffe6..165f61f 160000 --- a/travis/pecl +++ b/travis/pecl @@ -1 +1 @@ -Subproject commit 8f5ffe6ca8ea6c15a2e47da5db75ca0d11acdd97 +Subproject commit 165f61f020ee6de84051c4a463e7f8b7d1f87958 -- 2.30.2