From 0dce480530661065d698c9a83753b0d7e63d223a Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Tue, 31 Aug 2021 14:11:52 +0200 Subject: [PATCH] github actions: add curl matrix --- .github/workflows/curl-matrix.yml | 993 ++++++++++++++++++++ scripts/curlver.dist | 16 + scripts/gen_github_workflow_curl-matrix.php | 104 ++ 3 files changed, 1113 insertions(+) create mode 100644 .github/workflows/curl-matrix.yml create mode 100644 scripts/curlver.dist create mode 100755 scripts/gen_github_workflow_curl-matrix.php diff --git a/.github/workflows/curl-matrix.yml b/.github/workflows/curl-matrix.yml new file mode 100644 index 0000000..3544bda --- /dev/null +++ b/.github/workflows/curl-matrix.yml @@ -0,0 +1,993 @@ +# generated file; do not edit! + +name: curl-matrix +on: + workflow_dispatch: + push: + +jobs: + curl-master: + name: curl-master + continue-on-error: true + env: + PHP: "8.0" + CURL: "master" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_78_0: + name: curl-7_78_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_78_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_78_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_77_0: + name: curl-7_77_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_77_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_77_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_76_1: + name: curl-7_76_1 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_76_1" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_76_1 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_74_0: + name: curl-7_74_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_74_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_74_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_71_1: + name: curl-7_71_1 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_71_1" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_71_1 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_68_0: + name: curl-7_68_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_68_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_68_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_67_0: + name: curl-7_67_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_67_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_67_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_64_0: + name: curl-7_64_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_64_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_64_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_61_1: + name: curl-7_61_1 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_61_1" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_61_1 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_58_0: + name: curl-7_58_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_58_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_58_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_52_1: + name: curl-7_52_1 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_52_1" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_52_1 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_49_1: + name: curl-7_49_1 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_49_1" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_49_1 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_31_0: + name: curl-7_31_0 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_31_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_31_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_20_1: + name: curl-7_20_1 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_20_1" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_20_1 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_19_7: + name: curl-7_19_7 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_19_7" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_19_7 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + + curl-7_18_2: + name: curl-7_18_2 + continue-on-error: true + env: + PHP: "8.0" + CURL: "7_18_2" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + ref: curl-7_18_2 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + diff --git a/scripts/curlver.dist b/scripts/curlver.dist new file mode 100644 index 0000000..b0d22b4 --- /dev/null +++ b/scripts/curlver.dist @@ -0,0 +1,16 @@ +# current is 7.78.0 ATM +# 7.21.5-7.29.0 fail to configure on gh actions + +alpine: 7.78.0 7.67.0 +centos: 7.61.1 # 7.29.0 +debian: 7.74.0 7.64.0 7.52.1 +fedora: 7.78.0 7.76.1 7.71.1 +other: 7.49.1 7.31.0 +ubuntu: 7.74.0 7.68.0 7.58.0 + +# always test against a few recent +latest: master 7.78.0 7.77.0 7.76.1 +oldest: 7.18.2 7.19.7 7.20.1 + +# 7.64.1 fails client tests because of superfluous infof() calls +# 7.64.0 fails client cookie test because of curl/curl#3613 diff --git a/scripts/gen_github_workflow_curl-matrix.php b/scripts/gen_github_workflow_curl-matrix.php new file mode 100755 index 0000000..66b50c9 --- /dev/null +++ b/scripts/gen_github_workflow_curl-matrix.php @@ -0,0 +1,104 @@ +#!/usr/bin/env php + + +name: curl-matrix +on: + workflow_dispatch: + push: + +jobs: + 1) { + $curlver = array_map(fn($v) => strtr($v, ".", "_"), array_unique(array_slice($argv, 1))); +} else { + $curlver = array_unique( + iterator_to_array( + (function() { + $split = function($sep, $subject, $def = [""]) { + return array_filter(array_map("trim", explode($sep, $subject))) + $def; + }; + foreach (file(__DIR__."/curlver.dist") as $line) { + $rec = $split(":", $split("#", $line)[0]); + if (!empty($rec[1])) foreach ($split(" ", $rec[1], []) as $dist_ver) { + yield strtr($dist_ver, ".", "_"); + } + } + })() + ) + ); +} + +rsort($curlver, SORT_NATURAL); + +$gen = include __DIR__ . "/ci/gen-matrix.php"; +$job = $gen->github([ +"curl" => [ + "PHP" => "8.0", + "CURL" => $curlver, + "enable_debug" => "yes", + "enable_iconv" => "yes", + "with_http_libcurl_dir" => "/opt", +]]); +foreach ($job as $id => $env) { + printf(" curl-%s:\n", $env["CURL"]); + printf(" name: curl-%s\n", $env["CURL"]); + printf(" continue-on-error: true\n"); + printf(" env:\n"); + foreach ($env as $key => $val) { + printf(" %s: \"%s\"\n", $key, $val); + } +?> + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + path: http + - uses: actions/checkout@v2 + with: + repository: curl/curl + path: curl + + ref: curl- # + + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \ + sudo apt-get update -y && \ + sudo apt-get build-dep -y libcurl4-openssl-dev && \ + sudo apt-get install -y \ + php-cli \ + php-pear \ + libidn11-dev \ + libidn2-0-dev \ + libicu-dev \ + libevent-dev \ + libbrotli-dev \ + re2c + - name: Curl + run: | + sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh + sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool + cd curl + ./buildconf + ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 + make -j2 + make install + - name: Prepare + run: | + cd http + 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: | + cd http + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + cd http + make -f scripts/ci/Makefile test + +