release v3.3.0
[m6w6/ext-http] / scripts / gen_github_workflow_ci.php
index c23f23ec9598fb1a98f10829f7b2eec991b2b4ab..dc6ea6b56e4b506af1800099d284d933647a2866 100755 (executable)
@@ -11,49 +11,58 @@ jobs:
 <?php
 
 $gen = include __DIR__ . "/ci/gen-matrix.php";
-$cur = "8.0";
+$cur = "7.4";
 $job = $gen->github([
-"next" => [
+"old-matrix" => [
 // most useful for all additional versions except current
-    "PHP" => ["8.1", "master"],
-    "enable_debug" => "yes",
-    "enable_zts" => "yes",
-    "enable_iconv" => "yes",
-    "TEST_PHP_ARGS" => "-d error_reporting=24575" // ignore E_DEPRECATED
-],
+       "PHP" => ["7.0", "7.1", "7.2", "7.3"],
+       "enable_debug" => "yes",
+       "enable_maintainer_zts" => "yes",
+       "enable_json" => "yes",
+       "enable_hash" => "yes",
+       "enable_iconv" => "yes",
+], 
 "cur-none" => [
 // 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",
-    "with_http_libbrotli_dir" => "no",
-],
+       "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",
+       "with_http_libbrotli_dir" => "no",
+], 
 "cur-dbg-zts" => [
 // everything enabled for current, switching debug/zts
-    "PHP" => $cur,
-    "enable_debug",
-    "enable_zts",
-    "enable_iconv" => "yes",
-],
+       "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",
+], 
 "cur-cov" => [
 // once everything enabled for current, with coverage
-    "CFLAGS" => "-O0 -g --coverage",
-    "CXXFLAGS" => "-O0 -g --coverage",
-    "PHP" => $cur,
-    "enable_iconv" => "yes",
-    [
-        // mutually exclusive
-        "with_http_libicu_dir",
-        "with_http_libidn_dir",
-        "with_http_libidn2_dir",
-    ],
+       "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_libicu_dir",
+               "with_http_libidn_dir",
+               "with_http_libidn2_dir",
+       ],
 ]]);
+
 foreach ($job as $id => $env) {
     printf("  %s:\n", $id);
-    printf("    name: \"%s (%s)\"\n", $id, $env["PHP"]);
+    printf("    name: %s\n", $id);
     if ($env["PHP"] == "master") {
         printf("    continue-on-error: true\n");
     }
@@ -73,6 +82,7 @@ foreach ($job as $id => $env) {
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -83,6 +93,15 @@ foreach ($job as $id => $env) {
         run: |
           make -f scripts/ci/Makefile php || make -f scripts/ci/Makefile clean php
           make -f scripts/ci/Makefile pecl PECL=m6w6/ext-raphf.git:raphf:master
+          make -f scripts/ci/Makefile pecl PECL=m6w6/ext-propro.git:propro:master
+          if test -n "$PECLs"; then
+            IFS=$','
+            for pecl in $PECLs; do
+              make -f scripts/ci/Makefile pecl PECL=$pecl
+            done
+            unset IFS
+          fi
+
       - name: Build
         run: |
           make -f scripts/ci/Makefile ext PECL=http