release v3.2.2
[m6w6/ext-http] / scripts / gen_travis_yml.php
index ef73806fe757f2873e6d85952e4f279d496b979f..f393bbcd68322d223a09e39b33f29ee600b6a55e 100755 (executable)
@@ -16,10 +16,6 @@ addons:
 
 dist: xenial
 
-compiler:
- - gcc
- - clang
-
 cache:
  apt: true
  directories:
@@ -34,7 +30,7 @@ $gen = include "./travis/pecl/gen-matrix.php";
 $cur = "7.3";
 $env = $gen([
 // most useful for all additional versions except current
-       "PHP" => ["7.0", "7.1", "7.2", "master"],
+       "PHP" => ["7.0", "7.1", "7.2", "7.4", "master"],
        "enable_debug" => "yes",
        "enable_maintainer_zts" => "yes",
        "enable_json" => "yes",
@@ -50,8 +46,10 @@ $env = $gen([
        "with_http_libevent_dir" => "no",
        "with_http_libbrotli_dir" => "no",
 ], [
-// everything enabled for current, switching on debug/zts
+// everything enabled for current, switching debug/zts
        "PHP" => $cur,
+       "PECLs" => "event",                     // for tests/client029.phpt
+       "enable_sockets" => "yes",      // needed by pecl/event
        "enable_debug",
        "enable_maintainer_zts",
        "enable_json" => "yes",
@@ -62,6 +60,8 @@ $env = $gen([
        "CFLAGS" => "'-O0 -g --coverage'",
        "CXXFLAGS" => "'-O0 -g --coverage'",
        "PHP" => $cur,
+       "PECLs" => "event",                     // for tests/client029.phpt
+       "enable_sockets" => "yes",      // needed by pecl/event
        "enable_json" => "yes",
        "enable_hash" => "yes",
        "enable_iconv" => "yes",
@@ -83,7 +83,7 @@ matrix:
  allow_failures:
 <?php
 $allow_failures = array_merge( ... array_map(function($a) {
-       return preg_grep('/^PHP=master /', $a);
+       return preg_grep('/^PHP=(master|7.4) /', $a);
 }, $env));
 foreach ($allow_failures as $e) {
        printf("  - env: %s\n", $e);
@@ -100,6 +100,14 @@ install:
  - make -f travis/pecl/Makefile php || make -f travis/pecl/Makefile clean php
  - make -f travis/pecl/Makefile pecl PECL=ext-raphf.git:raphf:master
  - make -f travis/pecl/Makefile pecl PECL=ext-propro.git:propro:master
+ - |
+   if test -n "$PECLs"; then \
+     IFS=$','; \
+     for pecl in $PECLs; do \
+       make -f travis/pecl/Makefile pecl PECL=$pecl; \
+     done; \
+     unset IFS; \
+   fi
 
 script:
  - make -f travis/pecl/Makefile ext PECL=http