From 83e69aec3158a0933db842a23029bc8744070e1e Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Wed, 24 Jul 2024 16:40:42 +0200 Subject: [PATCH] Upgrade CI for PHP 8.4 testing (#144) --- .github/workflows/test-application.yaml | 20 ++++++++++++++++---- composer.json | 2 +- phpunit-9.xml.dist | 21 +++++++++++++++++++++ phpunit.xml.dist | 23 +++++++++++++---------- 4 files changed, 51 insertions(+), 15 deletions(-) create mode 100644 phpunit-9.xml.dist diff --git a/.github/workflows/test-application.yaml b/.github/workflows/test-application.yaml index 10c4537..82ac8d2 100644 --- a/.github/workflows/test-application.yaml +++ b/.github/workflows/test-application.yaml @@ -26,6 +26,7 @@ jobs: coverage: false dependency-versions: 'lowest' tools: 'composer:v2' + phpunit-config: 'phpunit-9.xml.dist' env: SYMFONY_DEPRECATIONS_HELPER: disabled @@ -33,6 +34,7 @@ jobs: coverage: true dependency-versions: 'highest' tools: 'composer:v2' + phpunit-config: 'phpunit-9.xml.dist' env: SYMFONY_DEPRECATIONS_HELPER: weak @@ -64,6 +66,14 @@ jobs: env: SYMFONY_DEPRECATIONS_HELPER: weak + - php-version: '8.4' + coverage: false + dependency-versions: 'highest' + tools: 'composer:v2' + composer-options: '--ignore-platform-reqs' + env: + SYMFONY_DEPRECATIONS_HELPER: weak + services: mysql: image: mysql:5.7 @@ -85,8 +95,10 @@ jobs: coverage: pcov tools: ${{ matrix.tools }} - - name: Remove not required test tooling - run: composer remove "*php-cs-fixer*" "*phpstan*" --no-update --dev + - name: Remove Lint Tools + # These tools are not required to run tests, so we are removing them to improve dependency resolving and + # testing lowest versions. + run: composer remove "*php-cs-fixer*" "*phpstan*" "*rector*" --dev --no-update - name: Install composer dependencies uses: ramsey/composer-install@v3 @@ -98,10 +110,10 @@ jobs: run: composer bootstrap-test-environment - name: Execute unit test cases - run: composer test -- Tests/Unit --coverage-php var/coverage.php --coverage-html coverage-report --log-junit var/junit.xml + run: composer test -- Tests/Unit --coverage-php var/coverage.php --coverage-html coverage-report --log-junit var/junit.xml --config ${{ matrix.phpunit-config || 'phpunit.xml.dist' }} - name: Execute functional test cases - run: composer test -- Tests/Functional --log-junit var/junit.xml + run: composer test -- Tests/Functional --log-junit var/junit.xml --config ${{ matrix.phpunit-config || 'phpunit.xml.dist' }} - name: Check code coverage if: ${{ matrix.coverage }} diff --git a/composer.json b/composer.json index 096ac13..7508ee5 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "phpstan/phpstan-doctrine": "^1.0", "phpstan/phpstan-phpunit": "^1.0", "phpstan/phpstan-symfony": "^1.0", - "phpunit/phpunit": "^9.6", + "phpunit/phpunit": "^9.6 || ^10.0", "symfony/browser-kit": "^4.4 || ^5.4 || ^6.3 || ^7.0", "symfony/console": "^4.4 || ^5.4 || ^6.3 || ^7.0", "symfony/dotenv": "^4.4 || ^5.4 || ^6.3 || ^7.0", diff --git a/phpunit-9.xml.dist b/phpunit-9.xml.dist new file mode 100644 index 0000000..c451f89 --- /dev/null +++ b/phpunit-9.xml.dist @@ -0,0 +1,21 @@ + + + + + Tests + + + + + + . + + vendor + + + + + + + + diff --git a/phpunit.xml.dist b/phpunit.xml.dist index c451f89..8f04843 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -2,20 +2,23 @@ - Tests + ./Tests - - - . - - vendor - - - - + + + + + ./ + + + Resources/ + Tests/ + vendor/ + +