From c4ee9ecf3939a7c996dcc05b54a5c53a922c62f0 Mon Sep 17 00:00:00 2001 From: Mark Story Date: Mon, 21 Oct 2024 23:07:28 -0400 Subject: [PATCH 1/5] Remove old config file and improve readme Make the new builtin backend more visible, in an attempt to get more folks giving it a try. --- .stickler.yml | 5 ----- README.md | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 6 deletions(-) delete mode 100644 .stickler.yml diff --git a/.stickler.yml b/.stickler.yml deleted file mode 100644 index 0ec83f6f..00000000 --- a/.stickler.yml +++ /dev/null @@ -1,5 +0,0 @@ -linters: - phpcs: - standard: CakePHP -files: - ignore: ['tests/bootstrap.php', 'tests/comparisons/*'] diff --git a/README.md b/README.md index 0aecc0f0..5dd4cd8a 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ bin/cake plugin load Migrations ``` Or you can manually add the loading statement in the **src/Application.php** file of your application: + ```php public function bootstrap(): void { @@ -37,7 +38,20 @@ public function bootstrap(): void } ``` -Additionally, you will need to configure the ``default`` database configuration in your **config/app.php** file. +### Enabling the builtin backend + +In a future release migrations will be switching to a new backend based on the CakePHP ORM. We're aiming +to be compatible with as many existing migrations as possible, and could use your feedback. Enable the +new backend with: + +```php +// in app/config/app_local.php +$config = [ + // Other configuration + 'Migrations' => ['backend' => 'builtin'], +]; + +``` ## Documentation From 1f657606e7a7cdb09f939b8e8b9fc60da638f587 Mon Sep 17 00:00:00 2001 From: Mark Story Date: Tue, 22 Oct 2024 10:03:56 -0400 Subject: [PATCH 2/5] Update README.md Co-authored-by: othercorey --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5dd4cd8a..0b396e83 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ public function bootstrap(): void ### Enabling the builtin backend -In a future release migrations will be switching to a new backend based on the CakePHP ORM. We're aiming +In a future release, migrations will be switching to a new backend based on the CakePHP ORM. We're aiming to be compatible with as many existing migrations as possible, and could use your feedback. Enable the new backend with: From 9a2203b5fe7efd04634feabf67f36f61575c76ea Mon Sep 17 00:00:00 2001 From: Mark Story Date: Mon, 4 Nov 2024 12:11:40 -0500 Subject: [PATCH 3/5] Update documentation on backend status. (#763) Fixes #762 --- docs/en/upgrading-to-builtin-backend.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/en/upgrading-to-builtin-backend.rst b/docs/en/upgrading-to-builtin-backend.rst index 4731cc22..b1837263 100644 --- a/docs/en/upgrading-to-builtin-backend.rst +++ b/docs/en/upgrading-to-builtin-backend.rst @@ -2,7 +2,8 @@ Upgrading to the builtin backend ################################ As of migrations 4.3 there is a new migrations backend that uses CakePHP's -database abstractions and ORM. Longer term this will allow for phinx to be +database abstractions and ORM. In 4.4, the ``builtin`` backend became the +default backend. Longer term this will allow for phinx to be removed as a dependency. This greatly reduces the dependency footprint of migrations. @@ -42,16 +43,16 @@ Similar changes are for fetching a single row:: $stmt = $this->getAdapter()->query('SELECT * FROM articles'); $rows = $stmt->fetch('assoc'); -Enabling the new backend -======================== +Problems with the new backend? +============================== -The new backend can be enabled through application configuration. Add the +The new backend is enabled by default. If your migrations contain errors when +run with the builtin backend, please open `an issue +`_. You can also switch back +to the ``phinx`` backend through application configuration. Add the following to your ``config/app.php``:: return [ // Other configuration. - 'Migrations' => ['backend' => 'builtin'], + 'Migrations' => ['backend' => 'phinx'], ]; - -If your migrations have problems running with the builtin backend, removing this -configuration option will revert to using phinx. From 9f846dea1be3fb2e69b1ddacece33739da28b60b Mon Sep 17 00:00:00 2001 From: Kevin Pfeifer Date: Sun, 17 Nov 2024 17:47:42 +0100 Subject: [PATCH 4/5] update stan --- .phive/phars.xml | 4 +- phpstan-baseline.neon | 140 +++++++++++++++++++---- psalm-baseline.xml | 111 +++++++++++------- psalm.xml | 2 +- src/Command/BakeMigrationDiffCommand.php | 2 - src/Command/Phinx/Dump.php | 2 +- src/Command/Phinx/MarkMigrated.php | 2 +- src/Command/Phinx/Status.php | 2 +- src/Db/Adapter/PdoAdapter.php | 1 - src/Db/Adapter/PostgresAdapter.php | 4 +- src/Db/Adapter/SqliteAdapter.php | 4 +- src/Db/Adapter/SqlserverAdapter.php | 4 +- src/Migration/Environment.php | 4 +- src/Migration/PhinxBackend.php | 5 +- src/Migrations.php | 5 +- src/Util/SchemaTrait.php | 2 +- 16 files changed, 211 insertions(+), 83 deletions(-) diff --git a/.phive/phars.xml b/.phive/phars.xml index 726b7777..d311bfa5 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,5 +1,5 @@ - - + + diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 49a54904..f5dae26c 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -1,71 +1,169 @@ parameters: ignoreErrors: - - message: "#^Call to an undefined method object\\:\\:loadHelper\\(\\)\\.$#" + message: '#^Call to an undefined method object\:\:loadHelper\(\)\.$#' + identifier: method.notFound count: 1 path: src/Command/BakeMigrationCommand.php - - message: "#^Call to an undefined method object\\:\\:loadHelper\\(\\)\\.$#" + message: '#^Parameter \#1 \$arguments of method Migrations\\Util\\ColumnParser\:\:parseFields\(\) expects array\, array\\|int\<1, max\>, list\\|string\> given\.$#' + identifier: argument.type + count: 1 + path: src/Command/BakeMigrationCommand.php + + - + message: '#^Parameter \#1 \$arguments of method Migrations\\Util\\ColumnParser\:\:parseIndexes\(\) expects array\, array\\|int\<1, max\>, list\\|string\> given\.$#' + identifier: argument.type + count: 1 + path: src/Command/BakeMigrationCommand.php + + - + message: '#^Parameter \#1 \$arguments of method Migrations\\Util\\ColumnParser\:\:parsePrimaryKey\(\) expects array\, array\\|int\<1, max\>, list\\|string\> given\.$#' + identifier: argument.type + count: 1 + path: src/Command/BakeMigrationCommand.php + + - + message: '#^Call to an undefined method object\:\:loadHelper\(\)\.$#' + identifier: method.notFound count: 1 path: src/Command/BakeMigrationDiffCommand.php - - message: "#^Call to an undefined method object\\:\\:loadHelper\\(\\)\\.$#" + message: '#^Call to an undefined method object\:\:loadHelper\(\)\.$#' + identifier: method.notFound count: 1 path: src/Command/BakeMigrationSnapshotCommand.php - - message: "#^Unsafe usage of new static\\(\\)\\.$#" + message: '#^PHPDoc tag @var with type string is not subtype of native type non\-falsy\-string\|true\.$#' + identifier: varTag.nativeType + count: 1 + path: src/Command/BakeSeedCommand.php + + - + message: '#^Strict comparison using \!\=\= between string and false will always evaluate to true\.$#' + identifier: notIdentical.alwaysTrue + count: 1 + path: src/Command/BakeSeedCommand.php + + - + message: '#^Call to an undefined method Cake\\Datasource\\ConnectionInterface\:\:cacheMetadata\(\)\.$#' + identifier: method.notFound + count: 1 + path: src/Command/Phinx/CacheBuild.php + + - + message: '#^Call to an undefined method Cake\\Datasource\\ConnectionInterface\:\:cacheMetadata\(\)\.$#' + identifier: method.notFound + count: 1 + path: src/Command/Phinx/CacheClear.php + + - + message: '#^Unsafe usage of new static\(\)\.$#' + identifier: new.static count: 1 path: src/Db/Adapter/AdapterFactory.php - - message: "#^Offset 'id' on non\\-empty\\-array\\ in isset\\(\\) always exists and is not nullable\\.$#" + message: '#^Offset ''id'' on non\-empty\-array\ in isset\(\) always exists and is not nullable\.$#' + identifier: isset.offset count: 2 path: src/Db/Adapter/MysqlAdapter.php - - message: "#^Right side of && is always true\\.$#" + message: '#^Offset 3 might not exist on array\{0\: string, 1\: non\-empty\-string, 2\?\: string, 3\?\: ''''\|numeric\-string, 4\?\: string, 5\?\: ''''\|numeric\-string, 6\?\: non\-empty\-string\}\.$#' + identifier: offsetAccess.notFound count: 1 path: src/Db/Adapter/MysqlAdapter.php - - message: "#^Access to an undefined property Cake\\\\Database\\\\Connection\\:\\:\\$connection\\.$#" + message: '#^Offset 5 might not exist on array\{0\: string, 1\: non\-empty\-string, 2\?\: string, 3\?\: ''''\|numeric\-string, 4\?\: string, 5\?\: ''''\|numeric\-string, 6\?\: non\-empty\-string\}\.$#' + identifier: offsetAccess.notFound count: 1 - path: src/Db/Adapter/PdoAdapter.php + path: src/Db/Adapter/MysqlAdapter.php - - message: "#^Offset 'id' on array\\ in isset\\(\\) always exists and is not nullable\\.$#" - count: 2 - path: src/Db/Adapter/PostgresAdapter.php + message: '#^Offset 6 might not exist on array\{0\: string, 1\: non\-empty\-string, 2\?\: string, 3\?\: ''''\|numeric\-string, 4\?\: string, 5\?\: ''''\|numeric\-string, 6\?\: non\-empty\-string\}\.$#' + identifier: offsetAccess.notFound + count: 1 + path: src/Db/Adapter/MysqlAdapter.php - - message: "#^Offset 'id' on array\\ in isset\\(\\) always exists and is not nullable\\.$#" - count: 2 - path: src/Db/Adapter/SqliteAdapter.php + message: '#^Right side of && is always true\.$#' + identifier: booleanAnd.rightAlwaysTrue + count: 1 + path: src/Db/Adapter/MysqlAdapter.php - - message: "#^Offset 'id' on array\\ in isset\\(\\) always exists and is not nullable\\.$#" - count: 2 - path: src/Db/Adapter/SqlserverAdapter.php + message: '#^Right side of && is always true\.$#' + identifier: booleanAnd.rightAlwaysTrue + count: 1 + path: src/Db/Adapter/SqliteAdapter.php - - message: "#^PHPDoc tag @return with type Phinx\\\\Db\\\\Adapter\\\\AdapterInterface is not subtype of native type Migrations\\\\Db\\\\Adapter\\\\AdapterInterface\\.$#" + message: '#^PHPDoc tag @return with type Phinx\\Db\\Adapter\\AdapterInterface is not subtype of native type Migrations\\Db\\Adapter\\AdapterInterface\.$#' + identifier: return.phpDocType count: 1 path: src/Db/Adapter/SqlserverAdapter.php - - message: "#^Ternary operator condition is always true\\.$#" + message: '#^Ternary operator condition is always true\.$#' + identifier: ternary.alwaysTrue count: 2 path: src/Db/Adapter/SqlserverAdapter.php - - message: "#^Method Migrations\\\\Shim\\\\OutputAdapter\\:\\:getVerbosity\\(\\) should return 16\\|32\\|64\\|128\\|256 but returns int\\.$#" + message: '#^Parameter \#1 \$message of method Cake\\Console\\ConsoleIo\:\:verbose\(\) expects list\\|string, array\ given\.$#' + identifier: argument.type + count: 1 + path: src/Migration/Manager.php + + - + message: '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, array given\.$#' + identifier: argument.type + count: 1 + path: src/Migration/Manager.php + + - + message: '#^PHPDoc tag @var with type array\ is not subtype of native type mixed\.$#' + identifier: varTag.nativeType + count: 1 + path: src/Migration/ManagerFactory.php + + - + message: '#^Method Migrations\\Shim\\OutputAdapter\:\:getVerbosity\(\) should return 16\|32\|64\|128\|256 but returns int\.$#' + identifier: return.type count: 1 path: src/Shim/OutputAdapter.php - - message: "#^Possibly invalid array key type Cake\\\\Database\\\\Schema\\\\TableSchemaInterface\\|string\\.$#" + message: '#^Parameter \#1 \$message of method Cake\\Console\\ConsoleIo\:\:out\(\) expects list\\|string, array\|string given\.$#' + identifier: argument.type + count: 2 + path: src/Shim/OutputAdapter.php + + - + message: '#^Parameter \#2 \$tables of method Cake\\TestSuite\\ConnectionHelper\:\:dropTables\(\) expects list\\|null, non\-empty\-array\ given\.$#' + identifier: argument.type + count: 1 + path: src/TestSuite/Migrator.php + + - + message: '#^Parameter \#2 \$tables of method Cake\\TestSuite\\ConnectionHelper\:\:truncateTables\(\) expects list\\|null, non\-empty\-array\ given\.$#' + identifier: argument.type + count: 2 + path: src/TestSuite/Migrator.php + + - + message: '#^Offset 0 on non\-empty\-list\ in isset\(\) always exists and is not nullable\.$#' + identifier: isset.offset + count: 2 + path: src/Util/TableFinder.php + + - + message: '#^Possibly invalid array key type Cake\\Database\\Schema\\TableSchemaInterface\|string\.$#' + identifier: offsetAccess.invalidOffset count: 2 path: src/View/Helper/MigrationHelper.php diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 17223cad..c220dbf4 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,64 +1,92 @@ - + + + + + + + + - MigrationsDispatcher - MigrationsDispatcher::getCommands() - MigrationsDispatcher::getCommands() - \Migrations\MigrationsDispatcher - new MigrationsDispatcher(PHINX_VERSION) + + + + + - ConfigurationTrait + - $phinxName + - ConfigurationTrait + - ConfigurationTrait + + + + + - ConfigurationTrait + - ConfigurationTrait + - ConfigurationTrait + - setInput + - ConfigurationTrait + + + + + + getManager()->maxNameLength]]> + + + + + + + + + + + + - ArrayAccess + io]]> - null + @@ -68,41 +96,41 @@ - getQueryBuilder + - $opened - is_array($newColumns) + + - getQueryBuilder + - \Phinx\Db\Adapter\AdapterInterface + - \Phinx\Db\Adapter\AdapterInterface + - \Phinx\Db\Adapter\AdapterInterface + - is_array($newColumns) + - $columns - $newColumns + + - verbose + @@ -118,47 +146,47 @@ }, $phpFiles )]]> - array_merge($versions, array_keys($migrations)) + container)]]> - $executedVersion + - CONFIG + - ConfigurationTrait + - ConfigurationTrait + - $messages - $messages + + io->level()]]> - self::VERBOSITY_* + - $dropTables - $phinxTables - $tables + + + @@ -170,4 +198,9 @@ regexpParseField]]> + + + + + diff --git a/psalm.xml b/psalm.xml index 738d8fcd..54311675 100644 --- a/psalm.xml +++ b/psalm.xml @@ -5,7 +5,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" - errorBaseline="./psalm-baseline.xml" + errorBaseline="psalm-baseline.xml" autoloader="tests/bootstrap.php" findUnusedPsalmSuppress="true" findUnusedBaselineEntry="true" diff --git a/src/Command/BakeMigrationDiffCommand.php b/src/Command/BakeMigrationDiffCommand.php index 5ee75239..b605732d 100644 --- a/src/Command/BakeMigrationDiffCommand.php +++ b/src/Command/BakeMigrationDiffCommand.php @@ -30,8 +30,6 @@ /** * Task class for generating migration diff files. - * - * @property \Bake\Shell\Task\TestTask $Test */ class BakeMigrationDiffCommand extends BakeSimpleMigrationCommand { diff --git a/src/Command/Phinx/Dump.php b/src/Command/Phinx/Dump.php index 78208837..53dc2015 100644 --- a/src/Command/Phinx/Dump.php +++ b/src/Command/Phinx/Dump.php @@ -85,8 +85,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int $this->output($output); $path = $this->getOperationsPath($input); - /** @var string $connectionName */ $connectionName = $input->getOption('connection') ?: 'default'; + assert(is_string($connectionName), 'Connection name must be a string'); $connection = ConnectionManager::get($connectionName); assert($connection instanceof Connection); $collection = $connection->getSchemaCollection(); diff --git a/src/Command/Phinx/MarkMigrated.php b/src/Command/Phinx/MarkMigrated.php index 3bd0ab5e..0603a935 100644 --- a/src/Command/Phinx/MarkMigrated.php +++ b/src/Command/Phinx/MarkMigrated.php @@ -22,7 +22,7 @@ use Symfony\Component\Console\Output\OutputInterface; /** - * @method \Migrations\CakeManager getManager() + * @method \Migrations\CakeManager|null getManager() */ class MarkMigrated extends AbstractCommand { diff --git a/src/Command/Phinx/Status.php b/src/Command/Phinx/Status.php index bb406a7f..869e4358 100644 --- a/src/Command/Phinx/Status.php +++ b/src/Command/Phinx/Status.php @@ -20,7 +20,7 @@ use Symfony\Component\Console\Output\OutputInterface; /** - * @method \Migrations\CakeManager getManager() + * @method \Migrations\CakeManager|null getManager() */ class Status extends StatusCommand { diff --git a/src/Db/Adapter/PdoAdapter.php b/src/Db/Adapter/PdoAdapter.php index 55570ef8..3d008d87 100644 --- a/src/Db/Adapter/PdoAdapter.php +++ b/src/Db/Adapter/PdoAdapter.php @@ -172,7 +172,6 @@ public function getConnection(): Connection $this->connect(); } - /** @var \Cake\Database\Connection $this->connection */ return $this->connection; } diff --git a/src/Db/Adapter/PostgresAdapter.php b/src/Db/Adapter/PostgresAdapter.php index 71495597..713c0cc9 100644 --- a/src/Db/Adapter/PostgresAdapter.php +++ b/src/Db/Adapter/PostgresAdapter.php @@ -185,11 +185,11 @@ public function createTable(Table $table, array $columns = [], array $indexes = $parts = $this->getSchemaName($table->getName()); // Add the default primary key - if (!isset($options['id']) || (isset($options['id']) && $options['id'] === true)) { + if (!isset($options['id']) || $options['id'] === true) { $options['id'] = 'id'; } - if (isset($options['id']) && is_string($options['id'])) { + if (is_string($options['id'])) { // Handle id => "field_name" to support AUTO_INCREMENT $column = new Column(); $column->setName($options['id']) diff --git a/src/Db/Adapter/SqliteAdapter.php b/src/Db/Adapter/SqliteAdapter.php index 7a9df3e7..540b675f 100644 --- a/src/Db/Adapter/SqliteAdapter.php +++ b/src/Db/Adapter/SqliteAdapter.php @@ -360,11 +360,11 @@ public function createTable(Table $table, array $columns = [], array $indexes = { // Add the default primary key $options = $table->getOptions(); - if (!isset($options['id']) || (isset($options['id']) && $options['id'] === true)) { + if (!isset($options['id']) || ($options['id'] === true)) { $options['id'] = 'id'; } - if (isset($options['id']) && is_string($options['id'])) { + if (is_string($options['id'])) { // Handle id => "field_name" to support AUTO_INCREMENT $column = new Column(); $column->setName($options['id']) diff --git a/src/Db/Adapter/SqlserverAdapter.php b/src/Db/Adapter/SqlserverAdapter.php index f3667c3e..e1130c3d 100644 --- a/src/Db/Adapter/SqlserverAdapter.php +++ b/src/Db/Adapter/SqlserverAdapter.php @@ -137,11 +137,11 @@ public function createTable(Table $table, array $columns = [], array $indexes = $options = $table->getOptions(); // Add the default primary key - if (!isset($options['id']) || (isset($options['id']) && $options['id'] === true)) { + if (!isset($options['id']) || $options['id'] === true) { $options['id'] = 'id'; } - if (isset($options['id']) && is_string($options['id'])) { + if (is_string($options['id'])) { // Handle id => "field_name" to support AUTO_INCREMENT $column = new Column(); $column->setName($options['id']) diff --git a/src/Migration/Environment.php b/src/Migration/Environment.php index 24b006d0..1fbb83ed 100644 --- a/src/Migration/Environment.php +++ b/src/Migration/Environment.php @@ -154,9 +154,7 @@ public function executeSeed(SeedInterface $seed): void } // Run the seeder - if (method_exists($seed, SeedInterface::RUN)) { - $seed->{SeedInterface::RUN}(); - } + $seed->{SeedInterface::RUN}(); // commit the transaction if the adapter supports it if ($atomic) { diff --git a/src/Migration/PhinxBackend.php b/src/Migration/PhinxBackend.php index 8b81a511..4c778f0f 100644 --- a/src/Migration/PhinxBackend.php +++ b/src/Migration/PhinxBackend.php @@ -13,6 +13,7 @@ */ namespace Migrations\Migration; +use Cake\Database\Connection; use Cake\Datasource\ConnectionManager; use DateTime; use InvalidArgumentException; @@ -394,10 +395,10 @@ public function setAdapter(): void return; } - /** @var string $connectionName */ $connectionName = $this->input()->getOption('connection') ?: 'default'; - /** @var \Cake\Database\Connection $connection */ + assert(is_string($connectionName), 'Connection name should be a string'); $connection = ConnectionManager::get($connectionName); + assert($connection instanceof Connection, 'Connection should be an instance of Cake\Database\Connection'); /** @psalm-suppress PossiblyNullReference */ $env = $this->manager->getEnvironment('default'); diff --git a/src/Migrations.php b/src/Migrations.php index 7354436a..3f4ba8fe 100644 --- a/src/Migrations.php +++ b/src/Migrations.php @@ -14,6 +14,7 @@ namespace Migrations; use Cake\Core\Configure; +use Cake\Database\Connection; use Cake\Datasource\ConnectionManager; use InvalidArgumentException; use Migrations\Migration\BuiltinBackend; @@ -295,10 +296,10 @@ public function setAdapter(): void return; } - /** @var string $connectionName */ $connectionName = $this->input()->getOption('connection') ?: 'default'; - /** @var \Cake\Database\Connection $connection */ + assert(is_string($connectionName), 'Connection name must be a string'); $connection = ConnectionManager::get($connectionName); + assert($connection instanceof Connection, 'Connection must be an instance of \Cake\Database\Connection'); /** @psalm-suppress PossiblyNullReference */ $env = $this->manager->getEnvironment('default'); diff --git a/src/Util/SchemaTrait.php b/src/Util/SchemaTrait.php index f68a84cb..9891af7a 100644 --- a/src/Util/SchemaTrait.php +++ b/src/Util/SchemaTrait.php @@ -34,7 +34,7 @@ protected function _getSchema(InputInterface $input, OutputInterface $output): ? { /** @var string $connectionName */ $connectionName = $input->getOption('connection'); - /** @var \Cake\Database\Connection $connection */ + /** @var \Cake\Database\Connection|\Cake\Datasource\ConnectionInterface $connection */ $connection = ConnectionManager::get($connectionName); if (!method_exists($connection, 'getSchemaCollection')) { From b311a88c14bfd429445cd809407842431f83c954 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 08:28:38 +0000 Subject: [PATCH 5/5] Bump codecov/codecov-action from 4 to 5 Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 91c54862..fac01bed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -125,7 +125,7 @@ jobs: - name: Code Coverage Report if: success() && matrix.php-version == '8.1' && matrix.db-type == 'mysql' - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 testsuite-windows: runs-on: windows-2022 @@ -195,7 +195,7 @@ jobs: vendor/bin/phpunit --coverage-clover=coverage.xml - name: Submit code coverage - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 cs-stan: uses: cakephp/.github/.github/workflows/cs-stan.yml@5.x