diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index 0944d882..ea3307bf 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -29,10 +29,12 @@ runs: shell: bash run: | composer require --quiet --no-update "symfony/console:${{ inputs.symfony-version }}" - composer require --quiet --no-update "symfony/filesystem:${{ inputs.symfony-version }}" composer require --quiet --no-update "symfony/framework-bundle:${{ inputs.symfony-version }}" composer require --quiet --no-update "symfony/messenger:${{ inputs.symfony-version }}" composer require --quiet --no-update "symfony/process:${{ inputs.symfony-version }}" composer require --quiet --no-update "symfony/serializer:${{ inputs.symfony-version }}" composer require --quiet --no-update "symfony/validator:${{ inputs.symfony-version }}" + composer require --quiet --no-update "symfony/filesystem:${{ inputs.symfony-version }}" --dev + composer require --quiet --no-update "symfony/finder:${{ inputs.symfony-version }}" --dev + composer require --quiet --no-update "symfony/process:${{ inputs.symfony-version }}" --dev composer update --no-interaction --no-progress --no-suggest diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 96c37625..7e34d086 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -30,7 +30,7 @@ jobs: php-version: ${{ matrix.php-version }} symfony-version: ${{ matrix.symfony-version }} - name: "Run tests with phpunit/phpunit" - run: vendor/bin/phpunit + run: vendor/bin/phpunit --testsuite=Code phpstan: name: "PhpStan" @@ -60,6 +60,20 @@ jobs: - name: "Run checkstyle with squizlabs/php_codesniffer" run: vendor/bin/phpcs + conventions: + name: "Conventions" + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v2 + - name: "Setup env & install dependencies" + uses: ./.github/actions/install + with: + php-version: '8.2' + symfony-version: '6.2.*' + - name: "Run tests with phpunit/phpunit" + run: vendor/bin/phpunit --testsuite=Convention + codecov: name: "Code coverage" runs-on: ubuntu-latest @@ -76,6 +90,6 @@ jobs: env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: | - vendor/bin/phpunit --coverage-clover coverage.xml + vendor/bin/phpunit --testsuite=Code --coverage-clover coverage.xml - name: "Upload coverage to Codecov" uses: codecov/codecov-action@v1 diff --git a/composer.json b/composer.json index ef628bde..d0fcbcdf 100644 --- a/composer.json +++ b/composer.json @@ -48,7 +48,7 @@ "yokai/batch-doctrine-dbal": "self.version", "yokai/batch-doctrine-orm": "self.version", "yokai/batch-doctrine-persistence": "self.version", - "yokai/batch-flysystem": "self.version", + "yokai/batch-league-flysystem": "self.version", "yokai/batch-symfony-console": "self.version", "yokai/batch-symfony-framework": "self.version", "yokai/batch-symfony-messenger": "self.version", diff --git a/phpunit.xml b/phpunit.xml index 9e922fad..79c1b9ca 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -23,6 +23,15 @@ ./tests/symfony/tests + + + ./src/*/tests + ./tests/integration + ./tests/symfony/tests + + + ./tests/convention + diff --git a/scripts/tests b/scripts/tests index d186c77d..b1608073 100755 --- a/scripts/tests +++ b/scripts/tests @@ -4,18 +4,21 @@ install () { container="$1" symfony="$2" led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/console:${symfony} - led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/filesystem:${symfony} --dev led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/framework-bundle:${symfony} led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/messenger:${symfony} led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/process:${symfony} led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/serializer:${symfony} led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/validator:${symfony} + led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/filesystem:${symfony} --dev + led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/finder:${symfony} --dev + led in -s ${container} -- composer2 --no-interaction --quiet require --no-update symfony/process:${symfony} --dev led in -s ${container} -- composer2 --no-interaction update --no-progress --with-all-dependencies } install "php82" "6.2.*" led in -s php82 -- vendor/bin/phpcs led in -s php82 -- vendor/bin/phpstan analyze +led in -s php82 -- vendor/bin/phpunit --testsuite=Convention matrix=( "php80/5.4.*" @@ -30,7 +33,7 @@ do symfony=${config[1]} echo "${entry}" install "${container}" "${symfony}" - led in -s ${container} -- vendor/bin/phpunit + led in -s ${container} -- vendor/bin/phpunit --testsuite=Code done echo "Revert changes made to composer.json" diff --git a/src/batch-doctrine-dbal/composer.json b/src/batch-doctrine-dbal/composer.json index b7b26c7b..20cb66ce 100644 --- a/src/batch-doctrine-dbal/composer.json +++ b/src/batch-doctrine-dbal/composer.json @@ -14,7 +14,7 @@ "php": "^8.0", "ext-json": "*", "doctrine/dbal": "^2.11", - "doctrine/persistence": "^2.0", + "doctrine/persistence": "^2.0|^3.0", "yokai/batch": "^0.5.0" }, "autoload": { diff --git a/tests/convention/Dependency/SourcesTest.php b/tests/convention/Dependency/SourcesTest.php index a72c96af..bac0a3d2 100644 --- a/tests/convention/Dependency/SourcesTest.php +++ b/tests/convention/Dependency/SourcesTest.php @@ -42,7 +42,8 @@ public function test(): void $prodDeps = $rootComposer->packages(); $prodDeps[] = 'yokai/batch'; \sort($prodDeps); - self::assertEmpty( + self::assertSame( + [], \array_diff($expectedProdDeps, $prodDeps), 'Dependencies of all packages are required in root composer.json' ); @@ -51,7 +52,8 @@ public function test(): void \sort($expectedDevDeps); $devDeps = $rootComposer->packagesDev(); \sort($devDeps); - self::assertEmpty( + self::assertSame( + [], \array_diff($expectedDevDeps, $devDeps), 'Dev dependencies of all packages are required in root composer.json' ); @@ -68,7 +70,8 @@ public function test(): void $prodAutoload = $rootComposer->autoload(); \ksort($prodAutoload); \ksort($expectedProdAutoload); - self::assertEmpty( + self::assertSame( + [], \array_diff($expectedProdAutoload, $prodAutoload), 'All packages autoload rules are duplicated in root composer.json' ); @@ -76,7 +79,8 @@ public function test(): void $devAutoload = $rootComposer->autoloadDev(); \ksort($devAutoload); \ksort($expectedDevAutoload); - self::assertEmpty( + self::assertSame( + [], \array_diff($expectedDevAutoload, $devAutoload), 'All packages dev autoload rules are duplicated in root composer.json' );