diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 50f33d43..b81774a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,14 +36,14 @@ jobs: matrix: # All the versions, OS, and dependency levels we want to support os: [ubuntu] # TODO: windows, macos - php: [ '8.0', '8.1', '8.2', '8.3' ] + php: [ '8.1', '8.2', '8.3', '8.4' ] dependency: [ stable ] # Our code has paths for with- and without- XDebug, and we want to test # both of them. # @see https://xdebug.org/docs/all_settings#mode xdebug3-mode: ['develop,coverage', 'coverage'] include: - - php: '8.0' + - php: '8.1' os: 'ubuntu' dependency: 'lowest' xdebug3-mode: 'develop,coverage' @@ -73,8 +73,22 @@ jobs: key: ${{ matrix.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ matrix.dependency }}- restore-keys: ${{ matrix.os }}-composer-${{ matrix.dependency }}- - - name: Install dependencies + - name: Install dependencies PHP < 8.4 + if: matrix.php != '8.4' run: composer update --prefer-${{ matrix.dependency }} --prefer-dist --no-interaction - - name: Execute tests + - name: Execute tests PHP < 8.4 + if: matrix.php != '8.4' run: composer test + + # This is a temporary workaround until vimeo/psalm is updated to support PHP 8.4. + # See https://github.com/vimeo/psalm/issues/11107 + - name: Install dependencies PHP 8.4 + if: matrix.php == '8.4' + run: composer update --prefer-${{ matrix.dependency }} --prefer-dist --no-interaction --ignore-platform-reqs + + - name: Execute tests PHP 8.4 + if: matrix.php == '8.4' + run: | + ./vendor/bin/phpcs --standard=PSR2 ./src ./tests + ./vendor/bin/phpunit --coverage-clover build/logs/clover.xml