diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2cc7f0ea..85aad9c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,7 @@ jobs: strategy: matrix: php: + - 8.3 - 8.2 - 8.1 - 8.0 @@ -24,7 +25,7 @@ jobs: - 5.4 - 5.3 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} @@ -45,7 +46,7 @@ jobs: runs-on: ubuntu-22.04 continue-on-error: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: cp "$(which composer)" composer.phar && ./composer.phar self-update --2.2 # downgrade Composer for HHVM - name: Run hhvm composer.phar require --dev react/async:^2 react/promise:^2 phpunit/phpunit:^5.7 # downgrade Async and Promise for HHVM uses: docker://hhvm/hhvm:3.30-lts-latest diff --git a/composer.json b/composer.json index d50528c6..3f752a63 100644 --- a/composer.json +++ b/composer.json @@ -9,27 +9,20 @@ }, "require": { "php": ">=5.3.8", - "react/async": "^4 || ^3 || ^2", + "react/async": "^4.3 || ^3.2 || ^2.2", "react/cache": "^1.1", - "react/dns": "^1.11", - "react/event-loop": "^1.4", - "react/http": "^1.8", - "react/promise": "^3 || ^2.10 || ^1.2", - "react/promise-stream": "^1.6", - "react/promise-timer": "^1.9", - "react/socket": "^1.13", - "react/stream": "^1.3" + "react/dns": "^1.13", + "react/event-loop": "^1.5", + "react/http": "^1.11", + "react/promise": "^3.2 || ^2.10 || ^1.3", + "react/promise-stream": "^1.7", + "react/promise-timer": "^1.11", + "react/socket": "^1.15", + "react/stream": "^1.4" }, "require-dev": { "clue/stream-filter": "^1.3", - "phpunit/phpunit": "^9.6 || ^7.5 || ^5.7 || ^4.8.36", - "react/async": "^4.2@dev || ^3.2@dev || ^4 || ^3 || ^2", - "react/dns": "^1.12@dev", - "react/http": "^1.10@dev", - "react/promise": "^3@dev || ^2.10 || ^1.2", - "react/promise-stream": "^1.7@dev", - "react/promise-timer": "^1.10@dev", - "react/socket": "^1.14@dev" + "phpunit/phpunit": "^9.6 || ^7.5 || ^5.7 || ^4.8.36" }, "config": { "preferred-install": { diff --git a/tests/bootstrap.php b/tests/bootstrap.php index db5b8cac..2af732cf 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -2,7 +2,9 @@ $autoload = require __DIR__ . '/../vendor/autoload.php'; -// register all `autoload-dev` paths from React's components +assert($autoload instanceof Composer\Autoload\ClassLoader); + +// register all `autoload-dev` paths from ReactPHP's components foreach (glob(__DIR__ . '/../vendor/react/*/composer.json') as $b) { $config = json_decode(file_get_contents($b), true); @@ -15,17 +17,3 @@ } } } - -// load all legacy test bootstrap scripts from React's components -foreach (glob(__DIR__ . '/../vendor/react/*/tests/bootstrap.php') as $b) { - // skip legacy react/promise for now and use manual autoload path from bootstrap config - // @link https://github.com/reactphp/promise/blob/1.x/tests/bootstrap.php - // @link https://github.com/reactphp/promise/blob/2.x/tests/bootstrap.php - if (strpos($b, 'react/promise/tests/bootstrap.php') !== false) { - $autoload->add('React\Promise', __DIR__ . '/../vendor/react/promise/tests'); - $autoload->addPsr4('React\\Promise\\', __DIR__ . '/../vendor/react/promise/tests'); - continue; - } - - include $b; -}