move to PHP-7.4 as current GA
[m6w6/ext-http] / scripts / gen_travis_yml.php
index 0fe344ba38d1aaec5d18e8f787ecd45d0fe6b7c7..71a855b5fb8f6821e3979691606e5242f66a1685 100755 (executable)
@@ -1,25 +1,23 @@
 #!/usr/bin/env php
 # autogenerated file; do not edit
 language: c
-sudo: false
-dist: trusty
 
 addons:
  apt:
   packages:
-   - php5-cli
+   - php-cli
    - php-pear
    - libcurl4-openssl-dev
    - libidn11-dev
    - libidn2-0-dev
    - libicu-dev
    - libevent-dev
+   - libbrotli-dev
 
-compiler:
- - gcc
- - clang
+dist: xenial
 
 cache:
+ apt: true
  directories:
   - $HOME/cache
 before_cache:
@@ -29,16 +27,15 @@ env:
 <?php
 
 $gen = include "./travis/pecl/gen-matrix.php";
-$cur = "7.3";
+$cur = "7.4";
 $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.3", "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,
@@ -47,24 +44,27 @@ $env = $gen([
        "with_http_libidn2_dir" => "no",
        "with_http_libcurl_dir" => "no",
        "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",
        "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,
+       "PECLs" => "event",                     // for tests/client029.phpt
+       "enable_sockets" => "yes",      // needed by pecl/event
        "enable_json" => "yes",
        "enable_hash" => "yes",
        "enable_iconv" => "yes",
-       "with_http_libbrotli_dir" => "/home/travis/brotli",
        [
                "with_http_libicu_dir",
                "with_http_libidn_dir",
@@ -76,11 +76,21 @@ foreach ($env as $grp) {
                printf(" - %s\n", $e);
        }
 }
+?>
 
+matrix:
+ fast_finish: true
+ allow_failures:
+<?php
+$allow_failures = array_merge( ... array_map(function($a) {
+       return preg_grep('/^PHP=(master) /', $a);
+}, $env));
+foreach ($allow_failures as $e) {
+       printf("  - env: %s\n", $e);
+}
 ?>
 
 install:
- - ./travis/brotli.sh v1.0.2
  - |
    if test "$PHP" = master; then \
      make -f travis/pecl/Makefile reconf; \
@@ -90,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