Skip to content

Run tests on PHP 8.4 and update test environment + PCOV to avoid segfault with Xdebug 3.4.2 #279

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: 3.x
Choose a base branch
from

Conversation

PaulRotmann
Copy link

Builds on top of #269, #270 and reactphp/socket#323.
Also had to remove ext-ev from default extensions, install it explicitly based on PHP version.

@PaulRotmann PaulRotmann requested review from WyriHaximus and clue June 18, 2025 13:23
Comment on lines +81 to +94
- name: Install ev extension (PHP < 8.0)
if: ${{ matrix.php < '8.0' }}
run: |
sudo apt-get update
sudo apt-get install -y libev-dev
sudo pecl install ev-1.1.5
echo "extension=ev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')"
- name: Install ev extension (PHP >= 8.0)
if: ${{ matrix.php >= '8.0' }}
run: |
sudo apt-get update
sudo apt-get install -y libev-dev
sudo pecl install ev
echo "extension=ev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this should be added here for the "unstable" environment, as it's already tested above.

Suggested change
- name: Install ev extension (PHP < 8.0)
if: ${{ matrix.php < '8.0' }}
run: |
sudo apt-get update
sudo apt-get install -y libev-dev
sudo pecl install ev-1.1.5
echo "extension=ev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')"
- name: Install ev extension (PHP >= 8.0)
if: ${{ matrix.php >= '8.0' }}
run: |
sudo apt-get update
sudo apt-get install -y libev-dev
sudo pecl install ev
echo "extension=ev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')"

Comment on lines -31 to -32
env:
fail-fast: true # fail step if any extension can not be installed
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this should be removed?

Comment on lines +32 to +45
- name: Install ev extension (PHP < 8.0)
if: ${{ matrix.php < '8.0' }}
run: |
sudo apt-get update
sudo apt-get install -y libev-dev
sudo pecl install ev-1.1.5
echo "extension=ev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')"
- name: Install ev extension (PHP >= 8.0)
if: ${{ matrix.php >= '8.0' }}
run: |
sudo apt-get update
sudo apt-get install -y libev-dev
sudo pecl install ev
echo "extension=ev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like AI slop. This adds a fair bit of redundant code that can be avoided (see above).

extensions: sockets, pcntl, event, ev
env:
fail-fast: true # fail step if any extension can not be installed
extensions: sockets, pcntl, event
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The motivation is unclear and I'm not sure why ev was removed here exactly, but the code below makes it looks like we perhaps want to use a ternary to select different versions similar to #270?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants