From 4ed7326ae9d5daaea21f5a33a1dbbc1897f01663 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Tue, 27 Aug 2024 15:10:23 +0200 Subject: [PATCH] ci: use latest ubuntu and PHP; update curlver --- .github/workflows/ci.yml | 92 ++++++--- .github/workflows/curl-matrix.yml | 206 +++++++++++++------- scripts/curlver.dist | 18 +- scripts/gen_github_workflow_ci.php | 6 +- scripts/gen_github_workflow_curl-matrix.php | 4 +- 5 files changed, 212 insertions(+), 114 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e04f594..b990aef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: enable_zts: "yes" enable_iconv: "yes" TEST_PHP_ARGS: "-d error_reporting=24575" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -54,7 +54,7 @@ jobs: enable_debug: "yes" enable_zts: "yes" enable_iconv: "yes" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -92,7 +92,7 @@ jobs: enable_debug: "yes" enable_zts: "yes" enable_iconv: "yes" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -123,17 +123,55 @@ jobs: run: | make -f scripts/ci/Makefile test - cur-none-0: - name: "cur-none-0 (8.2)" + old-2: + name: "old-2 (8.2)" env: PHP: "8.2" + enable_debug: "yes" + enable_zts: "yes" + enable_iconv: "yes" + runs-on: ubuntu-24.04 + steps: + - 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 \ + libidn-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 + - name: Build + run: | + make -f scripts/ci/Makefile ext PECL=http + - name: Test + run: | + make -f scripts/ci/Makefile test + + cur-none-0: + name: "cur-none-0 (8.3)" + env: + PHP: "8.3" 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-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -165,13 +203,13 @@ jobs: make -f scripts/ci/Makefile test cur-dbg-zts-0: - name: "cur-dbg-zts-0 (8.2)" + name: "cur-dbg-zts-0 (8.3)" env: - PHP: "8.2" + PHP: "8.3" enable_debug: "yes" enable_zts: "yes" enable_iconv: "yes" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -203,13 +241,13 @@ jobs: make -f scripts/ci/Makefile test cur-dbg-zts-1: - name: "cur-dbg-zts-1 (8.2)" + name: "cur-dbg-zts-1 (8.3)" env: - PHP: "8.2" + PHP: "8.3" enable_debug: "no" enable_zts: "yes" enable_iconv: "yes" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -241,13 +279,13 @@ jobs: make -f scripts/ci/Makefile test cur-dbg-zts-2: - name: "cur-dbg-zts-2 (8.2)" + name: "cur-dbg-zts-2 (8.3)" env: - PHP: "8.2" + PHP: "8.3" enable_debug: "yes" enable_zts: "no" enable_iconv: "yes" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -279,13 +317,13 @@ jobs: make -f scripts/ci/Makefile test cur-dbg-zts-3: - name: "cur-dbg-zts-3 (8.2)" + name: "cur-dbg-zts-3 (8.3)" env: - PHP: "8.2" + PHP: "8.3" enable_debug: "no" enable_zts: "no" enable_iconv: "yes" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -317,16 +355,16 @@ jobs: make -f scripts/ci/Makefile test cur-cov-0: - name: "cur-cov-0 (8.2)" + name: "cur-cov-0 (8.3)" env: CFLAGS: "-O0 -g --coverage" CXXFLAGS: "-O0 -g --coverage" - PHP: "8.2" + PHP: "8.3" enable_iconv: "yes" with_http_libicu_dir: "yes" with_http_libidn_dir: "no" with_http_libidn2_dir: "no" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -363,16 +401,16 @@ jobs: bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy cur-cov-1: - name: "cur-cov-1 (8.2)" + name: "cur-cov-1 (8.3)" env: CFLAGS: "-O0 -g --coverage" CXXFLAGS: "-O0 -g --coverage" - PHP: "8.2" + PHP: "8.3" enable_iconv: "yes" with_http_libicu_dir: "no" with_http_libidn_dir: "yes" with_http_libidn2_dir: "no" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: @@ -409,16 +447,16 @@ jobs: bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy cur-cov-2: - name: "cur-cov-2 (8.2)" + name: "cur-cov-2 (8.3)" env: CFLAGS: "-O0 -g --coverage" CXXFLAGS: "-O0 -g --coverage" - PHP: "8.2" + PHP: "8.3" enable_iconv: "yes" with_http_libicu_dir: "no" with_http_libidn_dir: "no" with_http_libidn2_dir: "yes" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: diff --git a/.github/workflows/curl-matrix.yml b/.github/workflows/curl-matrix.yml index a37e548..4badf17 100644 --- a/.github/workflows/curl-matrix.yml +++ b/.github/workflows/curl-matrix.yml @@ -10,12 +10,12 @@ jobs: name: curl-master continue-on-error: true env: - PHP: "8.2" + PHP: "8.3" CURL: "master" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -63,16 +63,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-8_1_1: - name: curl-8_1_1 + curl-8_9_1: + name: curl-8_9_1 continue-on-error: true env: - PHP: "8.2" - CURL: "8_1_1" + PHP: "8.3" + CURL: "8_9_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -82,7 +82,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-8_1_1 # + ref: curl-8_9_1 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -121,16 +121,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-8_0_1: - name: curl-8_0_1 + curl-8_8_0: + name: curl-8_8_0 continue-on-error: true env: - PHP: "8.2" - CURL: "8_0_1" + PHP: "8.3" + CURL: "8_8_0" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -140,7 +140,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-8_0_1 # + ref: curl-8_8_0 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -179,16 +179,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_88_1: - name: curl-7_88_1 + curl-8_7_1: + name: curl-8_7_1 continue-on-error: true env: - PHP: "8.2" - CURL: "7_88_1" + PHP: "8.3" + CURL: "8_7_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -198,7 +198,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_88_1 # + ref: curl-8_7_1 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -237,16 +237,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_87_0: - name: curl-7_87_0 + curl-8_6_0: + name: curl-8_6_0 continue-on-error: true env: - PHP: "8.2" - CURL: "7_87_0" + PHP: "8.3" + CURL: "8_6_0" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -256,7 +256,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_87_0 # + ref: curl-8_6_0 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -295,16 +295,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_85_0: - name: curl-7_85_0 + curl-8_5_0: + name: curl-8_5_0 continue-on-error: true env: - PHP: "8.2" - CURL: "7_85_0" + PHP: "8.3" + CURL: "8_5_0" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -314,7 +314,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_85_0 # + ref: curl-8_5_0 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -353,16 +353,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_81_0: - name: curl-7_81_0 + curl-8_2_1: + name: curl-8_2_1 continue-on-error: true env: - PHP: "8.2" - CURL: "7_81_0" + PHP: "8.3" + CURL: "8_2_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -372,7 +372,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_81_0 # + ref: curl-8_2_1 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -411,16 +411,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_78_0: - name: curl-7_78_0 + curl-8_1_1: + name: curl-8_1_1 continue-on-error: true env: - PHP: "8.2" - CURL: "7_78_0" + PHP: "8.3" + CURL: "8_1_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -430,7 +430,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_78_0 # + ref: curl-8_1_1 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -469,16 +469,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_74_0: - name: curl-7_74_0 + curl-7_88_1: + name: curl-7_88_1 continue-on-error: true env: - PHP: "8.2" - CURL: "7_74_0" + PHP: "8.3" + CURL: "7_88_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -488,7 +488,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_74_0 # + ref: curl-7_88_1 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -527,16 +527,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_61_1: - name: curl-7_61_1 + curl-7_81_0: + name: curl-7_81_0 continue-on-error: true env: - PHP: "8.2" - CURL: "7_61_1" + PHP: "8.3" + CURL: "7_81_0" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -546,7 +546,65 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_61_1 # + ref: curl-7_81_0 # + - name: Install + run: | + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ + echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-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 --disable-ldap + 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.3" + CURL: "7_78_0" + enable_debug: "yes" + enable_iconv: "yes" + with_http_libcurl_dir: "/opt" + runs-on: ubuntu-24.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 jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -585,16 +643,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_49_1: - name: curl-7_49_1 + curl-7_76_1: + name: curl-7_76_1 continue-on-error: true env: - PHP: "8.2" - CURL: "7_49_1" + PHP: "8.3" + CURL: "7_76_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -604,7 +662,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_49_1 # + ref: curl-7_76_1 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -643,16 +701,16 @@ jobs: cd http make -f scripts/ci/Makefile test - curl-7_31_0: - name: curl-7_31_0 + curl-7_61_1: + name: curl-7_61_1 continue-on-error: true env: - PHP: "8.2" - CURL: "7_31_0" + PHP: "8.3" + CURL: "7_61_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -662,7 +720,7 @@ jobs: with: repository: curl/curl path: curl - ref: curl-7_31_0 # + ref: curl-7_61_1 # - name: Install run: | echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \ @@ -705,12 +763,12 @@ jobs: name: curl-7_20_1 continue-on-error: true env: - PHP: "8.2" + PHP: "8.3" CURL: "7_20_1" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -763,12 +821,12 @@ jobs: name: curl-7_19_7 continue-on-error: true env: - PHP: "8.2" + PHP: "8.3" CURL: "7_19_7" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: @@ -821,12 +879,12 @@ jobs: name: curl-7_18_2 continue-on-error: true env: - PHP: "8.2" + PHP: "8.3" CURL: "7_18_2" enable_debug: "yes" enable_iconv: "yes" with_http_libcurl_dir: "/opt" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: diff --git a/scripts/curlver.dist b/scripts/curlver.dist index 416cb07..6ef35c1 100644 --- a/scripts/curlver.dist +++ b/scripts/curlver.dist @@ -1,15 +1,17 @@ -# current is 8.1.1 ATM +# latest is 8.9.1 ATM # 7.21.5-7.29.0 fail to configure on gh actions -alpine: 8.1.1 7.78.0 -centos: 7.61.1 # 7.29.0 -debian: 7.88.1 7.74.0 -fedora: 7.87.0 7.85.0 -other: 7.49.1 7.31.0 -ubuntu: 7.81.0 7.74.0 +alpine: +centos: +debian: 8.6.0 +fedora: +other: +ubuntu: 8.5.0 # always test against a few recent -latest: master 8.1.1 8.0.1 7.88.1 7.81.0 +latest: master 8.9.1 8.8.0 8.7.1 8.6.0 8.5.0 +# various linux distros +current: 8.2.1 8.1.1 7.88.1 7.81.0 7.78.0 7.76.1 7.61.1 # and a couple ancient oldest: 7.18.2 7.19.7 7.20.1 diff --git a/scripts/gen_github_workflow_ci.php b/scripts/gen_github_workflow_ci.php index 41ce95f..b79dbff 100755 --- a/scripts/gen_github_workflow_ci.php +++ b/scripts/gen_github_workflow_ci.php @@ -11,7 +11,7 @@ jobs: github([ "next" => [ "PHP" => ["master"], @@ -21,7 +21,7 @@ $job = $gen->github([ "TEST_PHP_ARGS" => "-d error_reporting=24575" // ignore E_DEPRECATED ], "old" => [ - "PHP" => ["8.1", "8.0"], + "PHP" => ["8.1", "8.0", "8.2"], "enable_debug" => "yes", "enable_zts" => "yes", "enable_iconv" => "yes", @@ -67,7 +67,7 @@ foreach ($job as $id => $env) { printf(" %s: \"%s\"\n", $key, $val); } ?> - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 with: diff --git a/scripts/gen_github_workflow_curl-matrix.php b/scripts/gen_github_workflow_curl-matrix.php index beaa65d..8fff233 100755 --- a/scripts/gen_github_workflow_curl-matrix.php +++ b/scripts/gen_github_workflow_curl-matrix.php @@ -34,7 +34,7 @@ rsort($curlver, SORT_NATURAL); $gen = include __DIR__ . "/ci/gen-matrix.php"; $job = $gen->github([ "curl" => [ - "PHP" => "8.2", + "PHP" => "8.3", "CURL" => $curlver, "enable_debug" => "yes", "enable_iconv" => "yes", @@ -49,7 +49,7 @@ foreach ($job as $id => $env) { printf(" %s: \"%s\"\n", $key, $val); } ?> - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v2 with: -- 2.30.2