github actions: add curl matrix
[m6w6/ext-http] / .github / workflows / ci.yml
index 9eee78c734c4016f446a1af57b88d586191ef8cc..6e0dc3d4f3d73506c0e1bda90e1167aee3c1fb66 100644 (file)
@@ -11,12 +11,16 @@ jobs:
     name: master-0
     continue-on-error: true
     env:
-      PHP: master
-      enable_debug: yes
-      enable_zts: yes
-      enable_iconv: yes
+      PHP: "master"
+      enable_debug: "yes"
+      enable_zts: "yes"
+      enable_iconv: "yes"
+      TEST_PHP_ARGS: "-d error_reporting=24575"
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
+        with:
+          submodules: true
       - name: Install
         run: |
           sudo apt-get install -y \
@@ -27,30 +31,34 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
 
   cur-none-0:
     name: cur-none-0
     env:
-      PHP: 8.0
-      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: "8.0"
+      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"
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
+        with:
+          submodules: true
       - name: Install
         run: |
           sudo apt-get install -y \
@@ -61,27 +69,31 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
 
   cur-dbg-zts-0:
     name: cur-dbg-zts-0
     env:
-      PHP: 8.0
-      enable_debug: yes
-      enable_zts: yes
-      enable_iconv: yes
+      PHP: "8.0"
+      enable_debug: "yes"
+      enable_zts: "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 \
@@ -92,27 +104,31 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
 
   cur-dbg-zts-1:
     name: cur-dbg-zts-1
     env:
-      PHP: 8.0
-      enable_debug: no
-      enable_zts: yes
-      enable_iconv: yes
+      PHP: "8.0"
+      enable_debug: "no"
+      enable_zts: "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 \
@@ -123,27 +139,31 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
 
   cur-dbg-zts-2:
     name: cur-dbg-zts-2
     env:
-      PHP: 8.0
-      enable_debug: yes
-      enable_zts: no
-      enable_iconv: yes
+      PHP: "8.0"
+      enable_debug: "yes"
+      enable_zts: "no"
+      enable_iconv: "yes"
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
+        with:
+          submodules: true
       - name: Install
         run: |
           sudo apt-get install -y \
@@ -154,27 +174,31 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
 
   cur-dbg-zts-3:
     name: cur-dbg-zts-3
     env:
-      PHP: 8.0
-      enable_debug: no
-      enable_zts: no
-      enable_iconv: yes
+      PHP: "8.0"
+      enable_debug: "no"
+      enable_zts: "no"
+      enable_iconv: "yes"
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
+        with:
+          submodules: true
       - name: Install
         run: |
           sudo apt-get install -y \
@@ -185,30 +209,34 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
 
   cur-cov-0:
     name: cur-cov-0
     env:
-      CFLAGS: '-O0 -g --coverage'
-      CXXFLAGS: '-O0 -g --coverage'
-      PHP: 8.0
-      enable_iconv: yes
-      with_http_libicu_dir: yes
-      with_http_libidn_dir: no
-      with_http_libidn2_dir: no
+      CFLAGS: "-O0 -g --coverage"
+      CXXFLAGS: "-O0 -g --coverage"
+      PHP: "8.0"
+      enable_iconv: "yes"
+      with_http_libicu_dir: "yes"
+      with_http_libidn_dir: "no"
+      with_http_libidn2_dir: "no"
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
+        with:
+          submodules: true
       - name: Install
         run: |
           sudo apt-get install -y \
@@ -219,17 +247,18 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
       - name: Coverage
         if: success()
         run: |
@@ -239,15 +268,18 @@ jobs:
   cur-cov-1:
     name: cur-cov-1
     env:
-      CFLAGS: '-O0 -g --coverage'
-      CXXFLAGS: '-O0 -g --coverage'
-      PHP: 8.0
-      enable_iconv: yes
-      with_http_libicu_dir: no
-      with_http_libidn_dir: yes
-      with_http_libidn2_dir: no
+      CFLAGS: "-O0 -g --coverage"
+      CXXFLAGS: "-O0 -g --coverage"
+      PHP: "8.0"
+      enable_iconv: "yes"
+      with_http_libicu_dir: "no"
+      with_http_libidn_dir: "yes"
+      with_http_libidn2_dir: "no"
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
+        with:
+          submodules: true
       - name: Install
         run: |
           sudo apt-get install -y \
@@ -258,17 +290,18 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
       - name: Coverage
         if: success()
         run: |
@@ -278,15 +311,18 @@ jobs:
   cur-cov-2:
     name: cur-cov-2
     env:
-      CFLAGS: '-O0 -g --coverage'
-      CXXFLAGS: '-O0 -g --coverage'
-      PHP: 8.0
-      enable_iconv: yes
-      with_http_libicu_dir: no
-      with_http_libidn_dir: no
-      with_http_libidn2_dir: yes
+      CFLAGS: "-O0 -g --coverage"
+      CXXFLAGS: "-O0 -g --coverage"
+      PHP: "8.0"
+      enable_iconv: "yes"
+      with_http_libicu_dir: "no"
+      with_http_libidn_dir: "no"
+      with_http_libidn2_dir: "yes"
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
+        with:
+          submodules: true
       - name: Install
         run: |
           sudo apt-get install -y \
@@ -297,17 +333,18 @@ jobs:
             libidn2-0-dev \
             libicu-dev \
             libevent-dev \
-            libbrotli-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
       - name: Build
         run: |
-          make -f travis/pecl/Makefile ext PECL=http
+          make -f scripts/ci/Makefile ext PECL=http
       - name: Test
         run: |
-          make -f travis/pecl/Makefile test
+          make -f scripts/ci/Makefile test
       - name: Coverage
         if: success()
         run: |