diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index ef5e007..1d366b2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,74 +1,71 @@ name: glide on: - pull_request: ~ - push: - branches: - - 3.x + pull_request: ~ + push: + branches: + - 3.x jobs: - coding-style: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - uses: shivammathur/setup-php@v2 - with: - php-version: '8.3' - extensions: gd, imagick - - name: php-cs-fixer - run: | - composer update --no-interaction --no-ansi --no-progress - vendor/bin/php-cs-fixer fix --dry-run --diff + tests: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + php-version: ['8.1', '8.2', '8.3', '8.4'] + dependencies: [highest] + include: + - php-version: '8.1' + dependencies: lowest + steps: + - uses: actions/checkout@v4 - tests: - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - php-version: ['8.1', '8.2', '8.3', '8.4'] - prefer-lowest: [''] - include: - - php-version: '8.1' - prefer-lowest: 'prefer-lowest' - steps: - - uses: actions/checkout@v4 + - uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + extensions: gd, imagick + coverage: pcov - - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php-version }} - extensions: gd, imagick - coverage: pcov + - name: Composer install + uses: ramsey/composer-install@v3 + with: + dependency-versions: ${{ matrix.dependencies }} - - name: Composer - run: | - if ${{ matrix.prefer-lowest == 'prefer-lowest' }}; then - composer update --no-interaction --no-ansi --no-progress --prefer-lowest - else - composer update --no-interaction --no-ansi --no-progress - fi + - name: PHPUnit + run: | + if [[ ${{ matrix.php-version }} == '8.3' ]]; then + vendor/bin/phpunit --display-incomplete --display-skipped --display-deprecations --display-phpunit-deprecations --coverage-clover=coverage.xml + else + vendor/bin/phpunit + fi - - name: PHPUnit - run: | - if [[ ${{ matrix.php-version }} == '8.3' ]]; then - vendor/bin/phpunit --display-incomplete --display-skipped --coverage-clover=coverage.xml - else - vendor/bin/phpunit - fi + - name: Code Coverage Report + if: matrix.php-version == '8.3' + uses: codecov/codecov-action@v3 - - name: Code Coverage Report - if: matrix.php-version == '8.3' - uses: codecov/codecov-action@v3 + coding-style: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - uses: shivammathur/setup-php@v2 + with: + php-version: '8.3' + extensions: gd, imagick + - name: php-cs-fixer + run: | + composer update --no-interaction --no-ansi --no-progress + vendor/bin/php-cs-fixer fix --dry-run --diff - psalm: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - uses: shivammathur/setup-php@v2 - with: - php-version: '8.3' - extensions: gd, imagick - tools: vimeo/psalm:5 - - name: psalm - run: | - composer update --no-interaction --no-ansi --no-progress - psalm --output-format=github + psalm: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - uses: shivammathur/setup-php@v2 + with: + php-version: '8.3' + extensions: gd, imagick + tools: vimeo/psalm:5 + - name: psalm + run: | + composer update --no-interaction --no-ansi --no-progress + psalm --output-format=github diff --git a/composer.json b/composer.json index 1d4f206..a10af1c 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,7 @@ }, "require-dev": { "mockery/mockery": "^1.6", - "phpunit/phpunit": "^10.5", + "phpunit/phpunit": "^10.5 || ^11.0", "friendsofphp/php-cs-fixer": "^3.48" }, "autoload": { diff --git a/tests/Manipulators/WatermarkTest.php b/tests/Manipulators/WatermarkTest.php index 176686f..fdef23f 100644 --- a/tests/Manipulators/WatermarkTest.php +++ b/tests/Manipulators/WatermarkTest.php @@ -5,6 +5,7 @@ use Intervention\Image\Interfaces\DriverInterface; use Intervention\Image\Interfaces\ImageInterface; use League\Glide\Filesystem\FilesystemException; +use PHPUnit\Framework\Attributes\DoesNotPerformAssertions; use PHPUnit\Framework\TestCase; class WatermarkTest extends TestCase @@ -80,9 +81,7 @@ public function testRun() ); } - /** - * @doesNotPerformAssertions - */ + #[DoesNotPerformAssertions] public function testGetImage() { $this->manipulator->getWatermarks() diff --git a/tests/ServerTest.php b/tests/ServerTest.php index 387fba8..af7a754 100644 --- a/tests/ServerTest.php +++ b/tests/ServerTest.php @@ -4,6 +4,7 @@ use League\Glide\Filesystem\FileNotFoundException; use League\Glide\Filesystem\FilesystemException; +use PHPUnit\Framework\Attributes\RunInSeparateProcess; use PHPUnit\Framework\TestCase; class ServerTest extends TestCase @@ -485,9 +486,7 @@ public function testGetImageAsBase64WithUnreadableSource() $this->server->getImageAsBase64('image.jpg', []); } - /** - * @runInSeparateProcess - */ + #[RunInSeparateProcess] public function testOutputImage() { $this->server->setCache(\Mockery::mock('League\Flysystem\FilesystemOperator', function ($mock) {