From db01b9b9a18d43bf5d270decedec9fd59f886966 Mon Sep 17 00:00:00 2001 From: viktorprogger Date: Wed, 26 Feb 2025 15:13:57 +0500 Subject: [PATCH 1/3] Replace composer require checker with composer dependency analyser --- .../composer-dependency-analyser.yml | 77 +++++++++++++++++++ .../workflows/composer-require-checker.yml | 33 -------- composer-dependency-analyser.php | 14 ++++ composer.json | 10 ++- tests/Middleware/MiddlewareFactoryTest.php | 1 - 5 files changed, 98 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/composer-dependency-analyser.yml delete mode 100644 .github/workflows/composer-require-checker.yml create mode 100644 composer-dependency-analyser.php diff --git a/.github/workflows/composer-dependency-analyser.yml b/.github/workflows/composer-dependency-analyser.yml new file mode 100644 index 0000000..3652fc2 --- /dev/null +++ b/.github/workflows/composer-dependency-analyser.yml @@ -0,0 +1,77 @@ +on: + pull_request: + paths-ignore: + - 'docs/**' + - 'README.md' + - 'CHANGELOG.md' + - '.gitignore' + - '.gitattributes' + - 'infection.json.dist' + - 'phpunit.xml.dist' + - 'psalm.xml' + + push: + paths-ignore: + - 'docs/**' + - 'README.md' + - 'CHANGELOG.md' + - '.gitignore' + - '.gitattributes' + - 'infection.json.dist' + - 'phpunit.xml.dist' + - 'psalm.xml' + +name: Composer require checker + +jobs: + composer-dependency-analyser: + name: PHP ${{ matrix.php }}-${{ matrix.os }} + + env: + key: cache-v1 + + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: + - ubuntu-latest + + php: + - 8.2 + - 8.3 + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + env: + update: true + with: + php-version: ${{ matrix.php }} + ini-values: date.timezone='UTC' + coverage: none + tools: composer:v2 + + - name: Determine composer cache directory on Linux + if: matrix.os == 'ubuntu-latest' + run: echo "COMPOSER_CACHE_DIR=$(composer config cache-dir)" >> $GITHUB_ENV + + - name: Cache dependencies installed with composer + uses: actions/cache@v4 + with: + path: ${{ env.COMPOSER_CACHE_DIR }} + key: php${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: | + php${{ matrix.php }}-composer- + + - name: Update composer + run: composer self-update + + - name: Install dependencies with composer + run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi + + - name: Analyse project dependencies + run: vendor/bin/composer-dependency-analyser --colors=always diff --git a/.github/workflows/composer-require-checker.yml b/.github/workflows/composer-require-checker.yml deleted file mode 100644 index b3330e7..0000000 --- a/.github/workflows/composer-require-checker.yml +++ /dev/null @@ -1,33 +0,0 @@ -on: - pull_request: - paths-ignore: - - 'docs/**' - - 'README.md' - - 'CHANGELOG.md' - - '.gitignore' - - '.gitattributes' - - 'infection.json.dist' - - 'phpunit.xml.dist' - - 'psalm.xml' - - push: - paths-ignore: - - 'docs/**' - - 'README.md' - - 'CHANGELOG.md' - - '.gitignore' - - '.gitattributes' - - 'infection.json.dist' - - 'phpunit.xml.dist' - - 'psalm.xml' - -name: Composer require checker - -jobs: - composer-require-checker: - uses: yiisoft/actions/.github/workflows/composer-require-checker.yml@master - with: - os: >- - ['ubuntu-latest'] - php: >- - ['8.2'] diff --git a/composer-dependency-analyser.php b/composer-dependency-analyser.php new file mode 100644 index 0000000..3b130f2 --- /dev/null +++ b/composer-dependency-analyser.php @@ -0,0 +1,14 @@ +addPathsToScan([__DIR__ . '/config', __DIR__ . '/src'], false) + ->addPathToScan(__DIR__ . '/tests', true) + ->ignoreErrorsOnPath(__DIR__ . '/config', [ErrorType::DEV_DEPENDENCY_IN_PROD]) // We really can configure non-existent classes + ->ignoreErrorsOnPath(__DIR__ . '/src/Console', [ErrorType::DEV_DEPENDENCY_IN_PROD]) // symfony/console is an optional dependency, CLI commands won't be used without it + ->disableComposerAutoloadPathScan(); diff --git a/composer.json b/composer.json index 54a55db..1d465d0 100644 --- a/composer.json +++ b/composer.json @@ -21,9 +21,13 @@ "yiisoft/injector": "^1.0" }, "require-dev": { - "maglnet/composer-require-checker": "^4.5", + "php-http/multipart-stream-builder": "^1.4", "phpunit/phpunit": "^10.1", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^2.0", "roave/infection-static-analysis-plugin": "^1.16", + "shipmonk/composer-dependency-analyser": "^1.8", "symfony/console": "^6.2", "symfony/http-client": "^7.0", "vimeo/psalm": "^6.8", @@ -31,8 +35,8 @@ "yiisoft/test-support": "^3.0" }, "suggest": { - "symfony/http-client": "^6.0", - "yiisoft/yii-console": "^1.0", + "symfony/http-client": "^7.0", + "yiisoft/yii-console": "^2.0", "yiisoft/yii-event": "^2.0" }, "autoload": { diff --git a/tests/Middleware/MiddlewareFactoryTest.php b/tests/Middleware/MiddlewareFactoryTest.php index daffc56..144288d 100644 --- a/tests/Middleware/MiddlewareFactoryTest.php +++ b/tests/Middleware/MiddlewareFactoryTest.php @@ -12,7 +12,6 @@ use Botasis\Runtime\Middleware\MiddlewareFactory; use Botasis\Runtime\Middleware\MiddlewareFactoryInterface; use Botasis\Runtime\Middleware\MiddlewareInterface; -use Botasis\Runtime\Request\TelegramRequestEnriched; use Botasis\Runtime\Response\Response; use Botasis\Runtime\Response\ResponseInterface; use Botasis\Runtime\Tests\Middleware\Support\InvalidController; From e6362c963f1d8dc2d691f149406e64b3f1d1eb33 Mon Sep 17 00:00:00 2001 From: viktorprogger Date: Wed, 26 Feb 2025 15:17:10 +0500 Subject: [PATCH 2/3] bugfix --- .github/workflows/composer-dependency-analyser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/composer-dependency-analyser.yml b/.github/workflows/composer-dependency-analyser.yml index 3652fc2..4741ed3 100644 --- a/.github/workflows/composer-dependency-analyser.yml +++ b/.github/workflows/composer-dependency-analyser.yml @@ -74,4 +74,4 @@ jobs: run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi - name: Analyse project dependencies - run: vendor/bin/composer-dependency-analyser --colors=always + run: vendor/bin/composer-dependency-analyser From 5eae7ad4236f000abab27aa45cb9f256fdb90a84 Mon Sep 17 00:00:00 2001 From: viktorprogger Date: Wed, 26 Feb 2025 15:18:07 +0500 Subject: [PATCH 3/3] Rename CI step --- .github/workflows/composer-dependency-analyser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/composer-dependency-analyser.yml b/.github/workflows/composer-dependency-analyser.yml index 4741ed3..6bb3328 100644 --- a/.github/workflows/composer-dependency-analyser.yml +++ b/.github/workflows/composer-dependency-analyser.yml @@ -21,7 +21,7 @@ on: - 'phpunit.xml.dist' - 'psalm.xml' -name: Composer require checker +name: Composer dependency analyser jobs: composer-dependency-analyser: