This is an automated email from the ASF dual-hosted git repository.

hubcio pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git


The following commit(s) were added to refs/heads/master by this push:
     new 397533f4b ci(php): pin supported PHP version (#3333)
397533f4b is described below

commit 397533f4bdf2c5eb74bed70c0276d601b1fd2bc9
Author: WaterWhisperer <[email protected]>
AuthorDate: Fri May 29 15:43:51 2026 +0800

    ci(php): pin supported PHP version (#3333)
---
 .github/actions/php/pre-merge/action.yml | 31 +++++++++++++++++++------------
 foreign/php/README.md                    |  2 +-
 2 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/.github/actions/php/pre-merge/action.yml 
b/.github/actions/php/pre-merge/action.yml
index b3c8da7af..70b85c6b8 100644
--- a/.github/actions/php/pre-merge/action.yml
+++ b/.github/actions/php/pre-merge/action.yml
@@ -36,18 +36,24 @@ runs:
           libclang-dev \
           libhwloc-dev \
           libssl-dev \
-          php-cli \
-          php-dev \
-          php-mbstring \
-          php-xml \
+          php8.3-cli \
+          php8.3-dev \
+          php8.3-mbstring \
+          php8.3-xml \
           pkg-config \
           unzip
 
-        echo "PHP=$(command -v php)" >> "$GITHUB_ENV"
-        echo "PHP_CONFIG=$(command -v php-config)" >> "$GITHUB_ENV"
-        php --version
-        php-config --version
-        composer --version
+        php_bin="$(command -v php8.3)"
+        php_config="$(command -v php-config8.3)"
+        composer_bin="$(command -v composer)"
+        {
+          echo "PHP=${php_bin}"
+          echo "PHP_CONFIG=${php_config}"
+          echo "COMPOSER_BIN=${composer_bin}"
+        } >> "$GITHUB_ENV"
+        "${php_bin}" --version
+        "${php_config}" --version
+        "${php_bin}" "${composer_bin}" --version
 
     - name: Setup Rust with cache
       uses: ./.github/actions/utils/setup-rust-with-cache
@@ -74,7 +80,7 @@ runs:
       if: inputs.task == 'lint'
       shell: bash
       run: |
-        php -r 'json_decode(file_get_contents("foreign/php/composer.json"), 
true, 512, JSON_THROW_ON_ERROR);'
+        "${PHP}" -r 
'json_decode(file_get_contents("foreign/php/composer.json"), true, 512, 
JSON_THROW_ON_ERROR);'
         cargo fmt --manifest-path foreign/php/Cargo.toml -- --check
         cargo install cargo-php --locked
         cargo build --manifest-path foreign/php/Cargo.toml
@@ -96,7 +102,7 @@ runs:
         find foreign/php \
           -path foreign/php/vendor -prune -o \
           -name '*.php' -print0 \
-          | xargs -0 -n1 php -l
+          | xargs -0 -n1 "${PHP}" -l
 
     - name: Build PHP extension
       if: inputs.task == 'build'
@@ -127,7 +133,8 @@ runs:
       if: inputs.task == 'test'
       shell: bash
       working-directory: foreign/php
-      run: composer install --no-interaction --prefer-dist --no-progress
+      run: |
+        "${PHP}" "${COMPOSER_BIN}" install --no-interaction --prefer-dist 
--no-progress
 
     - name: Start Iggy server
       if: inputs.task == 'test'
diff --git a/foreign/php/README.md b/foreign/php/README.md
index bc54c90ac..5d7de6831 100644
--- a/foreign/php/README.md
+++ b/foreign/php/README.md
@@ -11,7 +11,7 @@ future resolves; it does not provide fiber-aware or 
non-blocking I/O.
 ## Requirements
 
 - Rust and Cargo
-- PHP with `php-config`
+- PHP 8.3 or newer with `php-config`
 - `cargo-php`
 - Composer, for installing PHPUnit
 - Docker, for running the integration test server

Reply via email to