Once this PR is merged, we can start working on the new [v3.0.0 miles… #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
pull_request: | |
jobs: | |
PHPUnit: | |
name: PHPUnit (PHP ${{ matrix.php }}) | |
runs-on: ubuntu-18.04 # legacy Ubuntu 18.04 for legacy libevent | |
strategy: | |
matrix: | |
php: | |
- 8.1 | |
- 8.0 | |
- 7.4 | |
- 7.3 | |
- 7.2 | |
- 7.1 | |
- 7.0 | |
- 5.6 | |
- 5.5 | |
- 5.4 | |
- 5.3 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
coverage: xdebug | |
- run: sudo apt-get update && sudo apt-get install libevent-dev | |
- name: Install ext-event on PHP >= 5.4 | |
run: | | |
echo "yes" | sudo pecl install event | |
# explicitly enable extensions in php.ini on PHP 5.6+ | |
php -r 'exit((int)(PHP_VERSION_ID >= 50600));' || echo "extension=event.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')" | |
if: ${{ matrix.php >= 5.4 }} | |
- name: Install ext-ev on PHP >= 5.4 | |
run: | | |
echo "yes" | sudo pecl install ev | |
# explicitly enable extensions in php.ini on PHP 5.6+ | |
php -r 'exit((int)(PHP_VERSION_ID >= 50600));' || echo "extension=ev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')" | |
if: ${{ matrix.php >= 5.4 }} | |
- name: Install ext-uv on PHP 7.x | |
run: | | |
sudo add-apt-repository ppa:ondrej/php -y && sudo apt-get update -q && sudo apt-get install libuv1-dev | |
echo "yes" | sudo pecl install uv-beta | |
echo "extension=uv.so" >> "$(php -r 'echo php_ini_loaded_file();')" | |
if: ${{ matrix.php >= 7.0 && matrix.php < 8.0 }} | |
- name: Install legacy ext-libevent on PHP < 7.0 | |
run: | | |
curl http://pecl.php.net/get/libevent-0.1.0.tgz | tar -xz | |
pushd libevent-0.1.0 | |
phpize | |
./configure | |
make | |
sudo make install | |
popd | |
echo "extension=libevent.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')" | |
if: ${{ matrix.php < 7.0 }} | |
- name: Install legacy ext-libev on PHP < 7.0 | |
run: | | |
git clone --recursive https://github.com/m4rw3r/php-libev | |
pushd php-libev | |
phpize | |
./configure --with-libev | |
make | |
sudo make install | |
popd | |
echo "extension=libev.so" | sudo tee -a "$(php -r 'echo php_ini_loaded_file();')" | |
if: ${{ matrix.php < 7.0 }} | |
- run: composer install | |
- run: vendor/bin/phpunit --coverage-text | |
if: ${{ matrix.php >= 7.3 }} | |
- run: vendor/bin/phpunit --coverage-text -c phpunit.xml.legacy | |
if: ${{ matrix.php < 7.3 }} | |
PHPUnit-Windows: | |
name: PHPUnit (PHP ${{ matrix.php }} on Windows) | |
runs-on: windows-2019 | |
continue-on-error: true | |
strategy: | |
matrix: | |
php: | |
- 8.1 | |
- 8.0 | |
- 7.4 | |
- 7.3 | |
- 7.2 | |
- 7.1 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
coverage: xdebug | |
extensions: sockets,event # future: add uv-beta (installs, but can not load) | |
- run: composer install | |
- run: vendor/bin/phpunit --coverage-text | |
if: ${{ matrix.php >= 7.3 }} | |
- run: vendor/bin/phpunit --coverage-text -c phpunit.xml.legacy | |
if: ${{ matrix.php < 7.3 }} | |
PHPUnit-hhvm: | |
name: PHPUnit (HHVM) | |
runs-on: ubuntu-18.04 | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: azjezz/setup-hhvm@v1 | |
with: | |
version: lts-3.30 | |
- run: composer self-update --2.2 # downgrade Composer for HHVM | |
- run: hhvm $(which composer) install | |
- run: hhvm vendor/bin/phpunit |