Commit dc4f19e86d5 for php.net

commit dc4f19e86d5f4ce14b8f6dce5efd4da77be88a43
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Fri May 8 09:37:21 2026 +0200

    [skip ci] Remove PECL build

    This build is not useful for multiple reasons:

    - Legitimate API changes keep making the build red. Frequently it takes 3rd
      party extension developers months to fix these issues.
    - Once we're annoyed enough by the red build we skip it and then don't revert it
      way after it has been fixed.
    - True accidental API changes are incredibly rare. I don't believe I've
      experienced one yet.
    - This build only runs for master, which is also the branch where accidental
      changes are least problematic.

    Closes GH-21980

diff --git a/.github/matrix.php b/.github/matrix.php
index 111aebfb94d..7970442d705 100644
--- a/.github/matrix.php
+++ b/.github/matrix.php
@@ -61,7 +61,6 @@ function select_jobs($repository, $trigger, $nightly, $labels, $php_version, $re
     $test_macos = in_array('CI: macOS', $labels, true);
     $test_msan = in_array('CI: MSAN', $labels, true);
     $test_opcache_variation = in_array('CI: Opcache Variation', $labels, true);
-    $test_pecl = in_array('CI: PECL', $labels, true);
     $test_solaris = in_array('CI: Solaris', $labels, true);
     $test_windows = in_array('CI: Windows', $labels, true);

@@ -137,9 +136,6 @@ function select_jobs($repository, $trigger, $nightly, $labels, $php_version, $re
     if ($all_jobs || $test_opcache_variation) {
         $jobs['OPCACHE_VARIATION'] = true;
     }
-    if (($all_jobs && $ref === 'master') || $test_pecl) {
-        $jobs['PECL'] = true;
-    }
     if (version_compare($php_version, '8.6', '>=') && ($all_jobs || $test_solaris)) {
         $jobs['SOLARIS'] = true;
     }
diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml
index af25523805d..7b1850aa107 100644
--- a/.github/workflows/test-suite.yml
+++ b/.github/workflows/test-suite.yml
@@ -827,114 +827,6 @@ jobs:
         uses: ./.github/actions/test-libmysqlclient
       - name: Verify generated files are up to date
         uses: ./.github/actions/verify-generated-files
-  PECL:
-    if: ${{ fromJson(inputs.branch).jobs.PECL }}
-    runs-on: ubuntu-24.04
-    steps:
-      - name: git checkout PHP
-        uses: actions/checkout@v6
-        with:
-          path: php
-          ref: ${{ fromJson(inputs.branch).ref }}
-      # Used for ccache action
-      - name: Move .github
-        run: mv php/.github .
-      - name: git checkout apcu
-        uses: actions/checkout@v6
-        with:
-          repository: krakjoe/apcu
-          path: apcu
-      - name: git checkout imagick
-        uses: actions/checkout@v6
-        with:
-          repository: Imagick/imagick
-          path: imagick
-      - name: git checkout memcached
-        uses: actions/checkout@v6
-        with:
-          repository: php-memcached-dev/php-memcached
-          path: memcached
-      - name: git checkout redis
-        if: ${{ false }}
-        uses: actions/checkout@v6
-        with:
-          repository: phpredis/phpredis
-          path: redis
-      - name: git checkout xdebug
-        uses: actions/checkout@v6
-        with:
-          repository: xdebug/xdebug
-          path: xdebug
-      - name: git checkout yaml
-        uses: actions/checkout@v6
-        with:
-          repository: php/pecl-file_formats-yaml
-          path: yaml
-      - name: apt
-        run: |
-          sudo apt-get update
-          sudo apt-get install -y --no-install-recommends \
-            ccache \
-            libmemcached-dev \
-            imagemagick \
-            libmagickwand-dev \
-            bison \
-            re2c
-      - name: ccache
-        uses: ./.github/actions/ccache
-        with:
-          name: "${{ github.job }}"
-          php_directory: php
-      - name: build PHP
-        run: |
-          cd php
-          ./buildconf --force
-          ./configure \
-            --enable-option-checking=fatal \
-            --prefix=/opt/php \
-            --enable-cli \
-            --disable-all \
-            --enable-session \
-            --enable-werror
-          make -j$(/usr/bin/nproc)
-          sudo make install
-      - name: build apcu
-        run: |
-          cd apcu
-          /opt/php/bin/phpize
-          ./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
-          make -j$(/usr/bin/nproc)
-      - name: build imagick
-        run: |
-          cd imagick
-          /opt/php/bin/phpize
-          ./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
-          make -j$(/usr/bin/nproc)
-      - name: build memcached
-        run: |
-          cd memcached
-          /opt/php/bin/phpize
-          ./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
-          make -j$(/usr/bin/nproc)
-      - name: build redis
-        if: ${{ false }}
-        run: |
-          cd redis
-          /opt/php/bin/phpize
-          ./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
-          make -j$(/usr/bin/nproc)
-      - name: build xdebug
-        run: |
-          cd xdebug
-          /opt/php/bin/phpize
-          ./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
-          make -j$(/usr/bin/nproc)
-      - name: build yaml
-        run: |
-          cd yaml
-          /opt/php/bin/phpize
-          ./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
-          make -j$(/usr/bin/nproc)
   WINDOWS:
     if: ${{ fromJson(inputs.branch).jobs.WINDOWS }}
     strategy: