prepare v4.2.5
[m6w6/ext-http] / scripts / gen_github_workflow_ci.php
index dc6ea6b56e4b506af1800099d284d933647a2866..41ce95fbb68aa144239691f89801cb06fcca82cc 100755 (executable)
@@ -11,58 +11,54 @@ jobs:
 <?php
 
 $gen = include __DIR__ . "/ci/gen-matrix.php";
-$cur = "7.4";
+$cur = "8.2";
 $job = $gen->github([
-"old-matrix" => [
-// most useful for all additional versions except current
-       "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",
-], 
+"next" => [
+    "PHP" => ["master"],
+    "enable_debug" => "yes",
+    "enable_zts" => "yes",
+    "enable_iconv" => "yes",
+    "TEST_PHP_ARGS" => "-d error_reporting=24575" // ignore E_DEPRECATED
+],
+"old" => [
+    "PHP" => ["8.1", "8.0"],
+    "enable_debug" => "yes",
+    "enable_zts" => "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,
-       "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",
-], 
+    "PHP" => $cur,
+    "enable_debug",
+    "enable_zts",
+    "enable_iconv" => "yes",
+],
 "cur-cov" => [
 // 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_libicu_dir",
-               "with_http_libidn_dir",
-               "with_http_libidn2_dir",
-       ],
+    "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",
+    ],
 ]]);
-
 foreach ($job as $id => $env) {
     printf("  %s:\n", $id);
-    printf("    name: %s\n", $id);
+    printf("    name: \"%s (%s)\"\n", $id, $env["PHP"]);
     if ($env["PHP"] == "master") {
         printf("    continue-on-error: true\n");
     }
@@ -71,19 +67,21 @@ foreach ($job as $id => $env) {
         printf("      %s: \"%s\"\n", $key, $val);
     }
 ?>
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-22.04
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
         with:
           submodules: true
+      - name: Info
+        run: |
+          locale -a && locale
       - name: Install
         run: |
           sudo apt-get install -y \
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
-            libevent-dev \
-            libidn11-dev \
+            libidn-dev \
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
@@ -93,15 +91,6 @@ 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