new build matrix
authorMichael Wallner <mike@php.net>
Fri, 2 Mar 2018 09:56:57 +0000 (10:56 +0100)
committerMichael Wallner <mike@php.net>
Fri, 2 Mar 2018 09:56:57 +0000 (10:56 +0100)
.travis.yml
scripts/gen_travis_yml.php
travis/brotli.sh
travis/pecl

index e1a5dd057775b749418c1979eb3705499d863de4..0ed05c3c963d21d76463c03303332987411721ef 100644 (file)
@@ -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
index 7ab5174ac96ad5ec2af3cb6177d979616ec1ca6e..b1e4135f9adc592ca5fdb1459d03ab9b163881c6 100755 (executable)
@@ -15,27 +15,63 @@ addons:
    - libicu-dev
    - libevent-dev
 
+compiler:
+ - gcc
+ - clang
+
 env:
 <?php
 
 $gen = include "./travis/pecl/gen-matrix.php";
+$cur = "7.2";
 $env = $gen([
-       "PHP" => ["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
index 4fec33ea4fd7999c3e65fad55138ecba60070c89..322a3c3d7d31cff9cc28c8c903ef15342f6b4369 100755 (executable)
@@ -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
index 8f5ffe6ca8ea6c15a2e47da5db75ca0d11acdd97..165f61f020ee6de84051c4a463e7f8b7d1f87958 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 8f5ffe6ca8ea6c15a2e47da5db75ca0d11acdd97
+Subproject commit 165f61f020ee6de84051c4a463e7f8b7d1f87958