Backport v4 updates
[m6w6/ext-http] / .github / workflows / ci.yml
index 5e56d837a713d387c5985cd4e4c7f49989c568b6..93450912f300ec00052415d093091cf192a96f9a 100644 (file)
@@ -7,13 +7,14 @@ on:
   pull_request:
 
 jobs:
-  master-0:
-    name: master-0
-    continue-on-error: true
+  old-matrix-0:
+    name: old-matrix-0
     env:
-      PHP: "master"
+      PHP: "7.0"
       enable_debug: "yes"
-      enable_zts: "yes"
+      enable_maintainer_zts: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
     runs-on: ubuntu-20.04
     steps:
@@ -26,6 +27,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -36,6 +38,156 @@ jobs:
         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
+      - name: Test
+        run: |
+          make -f scripts/ci/Makefile test
+
+  old-matrix-1:
+    name: old-matrix-1
+    env:
+      PHP: "7.1"
+      enable_debug: "yes"
+      enable_maintainer_zts: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
+      enable_iconv: "yes"
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: true
+      - name: Install
+        run: |
+          sudo apt-get install -y \
+            php-cli \
+            php-pear \
+            libcurl4-openssl-dev \
+            libevent-dev \
+            libidn11-dev \
+            libidn2-0-dev \
+            libicu-dev \
+            libevent-dev \
+            libbrotli-dev \
+            re2c
+      - name: Prepare
+        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
+      - name: Test
+        run: |
+          make -f scripts/ci/Makefile test
+
+  old-matrix-2:
+    name: old-matrix-2
+    env:
+      PHP: "7.2"
+      enable_debug: "yes"
+      enable_maintainer_zts: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
+      enable_iconv: "yes"
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: true
+      - name: Install
+        run: |
+          sudo apt-get install -y \
+            php-cli \
+            php-pear \
+            libcurl4-openssl-dev \
+            libevent-dev \
+            libidn11-dev \
+            libidn2-0-dev \
+            libicu-dev \
+            libevent-dev \
+            libbrotli-dev \
+            re2c
+      - name: Prepare
+        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
+      - name: Test
+        run: |
+          make -f scripts/ci/Makefile test
+
+  old-matrix-3:
+    name: old-matrix-3
+    env:
+      PHP: "7.3"
+      enable_debug: "yes"
+      enable_maintainer_zts: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
+      enable_iconv: "yes"
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: true
+      - name: Install
+        run: |
+          sudo apt-get install -y \
+            php-cli \
+            php-pear \
+            libcurl4-openssl-dev \
+            libevent-dev \
+            libidn11-dev \
+            libidn2-0-dev \
+            libicu-dev \
+            libevent-dev \
+            libbrotli-dev \
+            re2c
+      - name: Prepare
+        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
@@ -46,7 +198,7 @@ jobs:
   cur-none-0:
     name: cur-none-0
     env:
-      PHP: "8.0"
+      PHP: "7.4"
       with_http_libicu_dir: "no"
       with_http_libidn_dir: "no"
       with_http_libidn2_dir: "no"
@@ -64,6 +216,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -74,6 +227,15 @@ jobs:
         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
@@ -84,9 +246,13 @@ jobs:
   cur-dbg-zts-0:
     name: cur-dbg-zts-0
     env:
-      PHP: "8.0"
+      PHP: "7.4"
+      PECLs: "event"
+      enable_sockets: "yes"
       enable_debug: "yes"
-      enable_zts: "yes"
+      enable_maintainer_zts: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
     runs-on: ubuntu-20.04
     steps:
@@ -99,6 +265,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -109,6 +276,15 @@ jobs:
         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
@@ -119,9 +295,13 @@ jobs:
   cur-dbg-zts-1:
     name: cur-dbg-zts-1
     env:
-      PHP: "8.0"
+      PHP: "7.4"
+      PECLs: "event"
+      enable_sockets: "yes"
       enable_debug: "no"
-      enable_zts: "yes"
+      enable_maintainer_zts: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
     runs-on: ubuntu-20.04
     steps:
@@ -134,6 +314,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -144,6 +325,15 @@ jobs:
         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
@@ -154,9 +344,13 @@ jobs:
   cur-dbg-zts-2:
     name: cur-dbg-zts-2
     env:
-      PHP: "8.0"
+      PHP: "7.4"
+      PECLs: "event"
+      enable_sockets: "yes"
       enable_debug: "yes"
-      enable_zts: "no"
+      enable_maintainer_zts: "no"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
     runs-on: ubuntu-20.04
     steps:
@@ -169,6 +363,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -179,6 +374,15 @@ jobs:
         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
@@ -189,9 +393,13 @@ jobs:
   cur-dbg-zts-3:
     name: cur-dbg-zts-3
     env:
-      PHP: "8.0"
+      PHP: "7.4"
+      PECLs: "event"
+      enable_sockets: "yes"
       enable_debug: "no"
-      enable_zts: "no"
+      enable_maintainer_zts: "no"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
     runs-on: ubuntu-20.04
     steps:
@@ -204,6 +412,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -214,6 +423,15 @@ jobs:
         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
@@ -226,7 +444,11 @@ jobs:
     env:
       CFLAGS: "-O0 -g --coverage"
       CXXFLAGS: "-O0 -g --coverage"
-      PHP: "8.0"
+      PHP: "7.4"
+      PECLs: "event"
+      enable_sockets: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
       with_http_libicu_dir: "yes"
       with_http_libidn_dir: "no"
@@ -242,6 +464,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -252,6 +475,15 @@ jobs:
         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
@@ -269,7 +501,11 @@ jobs:
     env:
       CFLAGS: "-O0 -g --coverage"
       CXXFLAGS: "-O0 -g --coverage"
-      PHP: "8.0"
+      PHP: "7.4"
+      PECLs: "event"
+      enable_sockets: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
       with_http_libicu_dir: "no"
       with_http_libidn_dir: "yes"
@@ -285,6 +521,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -295,6 +532,15 @@ jobs:
         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
@@ -312,7 +558,11 @@ jobs:
     env:
       CFLAGS: "-O0 -g --coverage"
       CXXFLAGS: "-O0 -g --coverage"
-      PHP: "8.0"
+      PHP: "7.4"
+      PECLs: "event"
+      enable_sockets: "yes"
+      enable_json: "yes"
+      enable_hash: "yes"
       enable_iconv: "yes"
       with_http_libicu_dir: "no"
       with_http_libidn_dir: "no"
@@ -328,6 +578,7 @@ jobs:
             php-cli \
             php-pear \
             libcurl4-openssl-dev \
+            libevent-dev \
             libidn11-dev \
             libidn2-0-dev \
             libicu-dev \
@@ -338,6 +589,15 @@ jobs:
         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