ci: use latest ubuntu and PHP; update curlver
authorMichael Wallner <mike@php.net>
Tue, 27 Aug 2024 13:10:23 +0000 (15:10 +0200)
committerMichael Wallner <mike@php.net>
Tue, 27 Aug 2024 13:10:23 +0000 (15:10 +0200)
.github/workflows/ci.yml
.github/workflows/curl-matrix.yml
scripts/curlver.dist
scripts/gen_github_workflow_ci.php
scripts/gen_github_workflow_curl-matrix.php

index e04f594253ff10de7427e41dcb249edf25324ed5..b990aefe543d5a894f7fd05c8c004db0838755cd 100644 (file)
@@ -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:
index a37e54875f1156bfc3198428cd9d420a13c3a04f..4badf17ba6eacbae10358c741e37a85a224670fa 100644 (file)
@@ -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:
index 416cb07c12f0f9f7b7cab860fdef01186ad2cb8f..6ef35c129479b4eeb11221f6837e03bd1ad391c4 100644 (file)
@@ -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
 
index 41ce95fbb68aa144239691f89801cb06fcca82cc..b79dbff0fbb16b41b6e96e5300f7a3e6ad7bb612 100755 (executable)
@@ -11,7 +11,7 @@ jobs:
 <?php
 
 $gen = include __DIR__ . "/ci/gen-matrix.php";
-$cur = "8.2";
+$cur = "8.3";
 $job = $gen->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:
index beaa65df633a26609cf7feae234824189825aeba..8fff233641cdc9f89a5856287098d25ad9d72daf 100755 (executable)
@@ -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: