From d7aaa3fbbd39128821dfd0bc3220a867d0d118ee Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Mon, 18 Nov 2024 13:15:44 +1300 Subject: [PATCH] ENH Add MySQL 8.4 to matrix --- consts.php | 1 + job_creator.php | 38 +- tests/JobCreatorTest.php | 1009 ++++++++++++++++++++++---------------- 3 files changed, 625 insertions(+), 423 deletions(-) diff --git a/consts.php b/consts.php index 90b7efd..ad24396 100644 --- a/consts.php +++ b/consts.php @@ -3,6 +3,7 @@ const DB_MYSQL_57 = 'mysql57'; const DB_MYSQL_57_PDO = 'mysql57pdo'; const DB_MYSQL_80 = 'mysql80'; +const DB_MYSQL_84 = 'mysql84'; const DB_PGSQL = 'pgsql'; const DB_MARIADB = 'mariadb'; diff --git a/job_creator.php b/job_creator.php index d9b3946..8db418a 100644 --- a/job_creator.php +++ b/job_creator.php @@ -311,12 +311,15 @@ private function createPhpunitJobs( ]); } else { $cmsMajor = BranchLogic::getCmsMajor($this->repoData, $this->branch, $this->getComposerJsonContent()) ?: MetaData::LOWEST_SUPPORTED_CMS_MAJOR; + $dbsAdded = []; + $db = in_array($cmsMajor, ['4', '5']) ? DB_MYSQL_57 : DB_MARIADB; $matrix['include'][] = $this->createJob(0, [ 'composer_args' => '--prefer-lowest', - 'db' => in_array($cmsMajor, ['4', '5']) ? DB_MYSQL_57 : DB_MARIADB, + 'db' => $db, 'phpunit' => true, 'phpunit_suite' => $suite, ]); + $dbsAdded[] = $db; if ($cmsMajor === '4') { if (!$this->doRunPhpCoverage($run)) { // this same mysql pdo test is also created for the phpcoverage job, so only add it here if @@ -334,14 +337,25 @@ private function createPhpunitJobs( 'phpunit_suite' => $suite, ]); } else { - // phpunit tests for cms 5 are run on php 8.1, 8.2 or 8.3 and mysql 8.0 or mariadb + // phpunit tests for cms 5 are run on php 8.1, 8.2 or 8.3 and mysql 8.0, 8.4 or mariadb $phpToDB = $this->generatePhpToDBMap(); + $lastPhp = null; foreach ($phpToDB as $php => $db) { $matrix['include'][] = $this->createJob($this->getIndexByPHPVersion($php), [ 'db' => $db, 'phpunit' => true, 'phpunit_suite' => $suite, ]); + $dbsAdded[] = $db; + $lastPhp = $php; + } + $dbNotAdded = array_diff($this->getDBs(), $dbsAdded); + foreach ($dbNotAdded as $db) { + $matrix['include'][] = $this->createJob($this->getIndexByPHPVersion($lastPhp), [ + 'db' => $db, + 'phpunit' => true, + 'phpunit_suite' => $suite, + ]); } } } @@ -365,6 +379,18 @@ private function getIndexByPHPVersion(string $version): int return array_search($version, $this->getListOfPhpVersionsByBranchName()) ?? 0; } + /** + * Return a list of DBS to test against for the current CMS major + */ + private function getDBs() + { + $cmsMajor = BranchLogic::getCmsMajor($this->repoData, $this->branch, $this->getComposerJsonContent()) ?: MetaData::LOWEST_SUPPORTED_CMS_MAJOR; + if ($cmsMajor === '5') { + return [DB_MARIADB, DB_MYSQL_80, DB_MYSQL_84]; + } + return [DB_MYSQL_80, DB_MYSQL_84, DB_MARIADB]; + } + /** * Generate a map of php versions to db versions * e.g. [ '8.1' => 'mariadb', '8.2' => 'mysql80' ] @@ -373,12 +399,7 @@ private function generatePhpToDBMap(): array { $map = []; $phpVersions = $this->getListOfPhpVersionsByBranchName(); - $cmsMajor = BranchLogic::getCmsMajor($this->repoData, $this->branch, $this->getComposerJsonContent()) ?: MetaData::LOWEST_SUPPORTED_CMS_MAJOR; - if ($cmsMajor === '5') { - $dbs = [DB_MARIADB, DB_MYSQL_80]; - } else { - $dbs = [DB_MYSQL_80, DB_MARIADB]; - } + $dbs = $this->getDBs(); foreach ($phpVersions as $key => $phpVersion) { if (count($phpVersions) < 3) { $map[$phpVersion] = $dbs[$key]; @@ -387,7 +408,6 @@ private function generatePhpToDBMap(): array $map[$phpVersion] = array_key_exists($key, $dbs) ? $dbs[$key - 1] : DB_MYSQL_80; } } - return $map; } diff --git a/tests/JobCreatorTest.php b/tests/JobCreatorTest.php index 87df123..0a34000 100644 --- a/tests/JobCreatorTest.php +++ b/tests/JobCreatorTest.php @@ -332,6 +332,26 @@ public function provideCreateJson(): array 'needs_full_setup' => 'true', 'name' => '8.3 mysql80 phpunit all', ], + [ + 'installer_version' => '5.x-dev', + 'php' => '8.3', + 'db' => DB_MYSQL_84, + 'composer_require_extra' => '', + 'composer_args' => '', + 'name_suffix' => '', + 'phpunit' => 'true', + 'phpunit_suite' => 'all', + 'phplinting' => 'false', + 'phpcoverage' => 'false', + 'endtoend' => 'false', + 'endtoend_suite' => 'root', + 'endtoend_config' => '', + 'endtoend_tags' => '', + 'js' => 'false', + 'doclinting' => 'false', + 'needs_full_setup' => 'true', + 'name' => '8.3 mysql84 phpunit all', + ], [ 'installer_version' => '5.x-dev', 'php' => '8.1', @@ -448,6 +468,26 @@ public function provideCreateJson(): array 'needs_full_setup' => 'true', 'name' => '8.3 mysql80 phpunit all', ], + [ + 'installer_version' => '5.x-dev', + 'php' => '8.3', + 'db' => DB_MYSQL_84, + 'composer_require_extra' => '', + 'composer_args' => '', + 'name_suffix' => '', + 'phpunit' => 'true', + 'phpunit_suite' => 'all', + 'phplinting' => 'false', + 'phpcoverage' => 'false', + 'endtoend' => 'false', + 'endtoend_suite' => 'root', + 'endtoend_config' => '', + 'endtoend_tags' => '', + 'js' => 'false', + 'doclinting' => 'false', + 'needs_full_setup' => 'true', + 'name' => '8.3 mysql84 phpunit all', + ], [ 'installer_version' => '5.x-dev', 'php' => '8.1', @@ -698,6 +738,26 @@ public function provideCreateJson(): array 'needs_full_setup' => 'true', 'name' => '8.3 mysql80 phpunit all', ], + [ + 'installer_version' => '5.x-dev', + 'php' => '8.3', + 'db' => DB_MYSQL_84, + 'composer_require_extra' => '', + 'composer_args' => '', + 'name_suffix' => '', + 'phpunit' => 'true', + 'phpunit_suite' => 'all', + 'phplinting' => 'false', + 'phpcoverage' => 'false', + 'endtoend' => 'false', + 'endtoend_suite' => 'root', + 'endtoend_config' => '', + 'endtoend_tags' => '', + 'js' => 'false', + 'doclinting' => 'false', + 'needs_full_setup' => 'true', + 'name' => '8.3 mysql84 phpunit all', + ], ] ], // general test for v6 @@ -754,6 +814,26 @@ public function provideCreateJson(): array 'needs_full_setup' => 'true', 'name' => '8.3 mysql80 phpunit all', ], + [ + 'installer_version' => '6.x-dev', + 'php' => '8.3', + 'db' => DB_MYSQL_84, + 'composer_require_extra' => '', + 'composer_args' => '', + 'name_suffix' => '', + 'phpunit' => 'true', + 'phpunit_suite' => 'all', + 'phplinting' => 'false', + 'phpcoverage' => 'false', + 'endtoend' => 'false', + 'endtoend_suite' => 'root', + 'endtoend_config' => '', + 'endtoend_tags' => '', + 'js' => 'false', + 'doclinting' => 'false', + 'needs_full_setup' => 'true', + 'name' => '8.3 mysql84 phpunit all', + ], ] ], // general test for v5.1 @@ -830,6 +910,26 @@ public function provideCreateJson(): array 'needs_full_setup' => 'true', 'name' => '8.2 mysql80 phpunit all', ], + [ + 'installer_version' => '5.1.x-dev', + 'php' => '8.2', + 'db' => DB_MYSQL_84, + 'composer_require_extra' => '', + 'composer_args' => '', + 'name_suffix' => '', + 'phpunit' => 'true', + 'phpunit_suite' => 'all', + 'phplinting' => 'false', + 'phpcoverage' => 'false', + 'endtoend' => 'false', + 'endtoend_suite' => 'root', + 'endtoend_config' => '', + 'endtoend_tags' => '', + 'js' => 'false', + 'doclinting' => 'false', + 'needs_full_setup' => 'true', + 'name' => '8.2 mysql84 phpunit all', + ], ] ], // general test for v5.2 @@ -906,6 +1006,26 @@ public function provideCreateJson(): array 'needs_full_setup' => 'true', 'name' => '8.3 mysql80 phpunit all', ], + [ + 'installer_version' => '5.2.x-dev', + 'php' => '8.3', + 'db' => DB_MYSQL_84, + 'composer_require_extra' => '', + 'composer_args' => '', + 'name_suffix' => '', + 'phpunit' => 'true', + 'phpunit_suite' => 'all', + 'phplinting' => 'false', + 'phpcoverage' => 'false', + 'endtoend' => 'false', + 'endtoend_suite' => 'root', + 'endtoend_config' => '', + 'endtoend_tags' => '', + 'js' => 'false', + 'doclinting' => 'false', + 'needs_full_setup' => 'true', + 'name' => '8.3 mysql84 phpunit all', + ], ] ], ]; @@ -961,138 +1081,138 @@ public function testCreateJsonForConfig(string $branch, string $phpConstraint, a public function provideCreateJsonForConfig(): array { return [ - 'cms 4' => [ - 'branch' => '1.6', - 'phpConstraint' => '^7.4 || ^8.0', - 'expected' => [ - [ - 'installer_version' => '', - 'php' => '7.4', - 'db' => DB_MYSQL_57, - 'composer_require_extra' => '', - 'composer_args' => '--prefer-lowest', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '7.4 prf-low mysql57 phpunit all', - ], - [ - 'installer_version' => '', - 'php' => '8.0', - 'db' => DB_MYSQL_57_PDO, - 'composer_require_extra' => '', - 'composer_args' => '', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.0 mysql57pdo phpunit all', - ], - [ - 'installer_version' => '', - 'php' => '8.1', - 'db' => DB_MYSQL_80, - 'composer_require_extra' => '', - 'composer_args' => '', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.1 mysql80 phpunit all', - ], - ], - ], - 'cms 4 old composer pipe' => [ - 'branch' => '1.6', - 'phpConstraint' => '^7.4 | ^8.0', - 'expected' => [ - [ - 'installer_version' => '', - 'php' => '7.4', - 'db' => DB_MYSQL_57, - 'composer_require_extra' => '', - 'composer_args' => '--prefer-lowest', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '7.4 prf-low mysql57 phpunit all', - ], - [ - 'installer_version' => '', - 'php' => '8.0', - 'db' => DB_MYSQL_57_PDO, - 'composer_require_extra' => '', - 'composer_args' => '', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.0 mysql57pdo phpunit all', - ], - [ - 'installer_version' => '', - 'php' => '8.1', - 'db' => DB_MYSQL_80, - 'composer_require_extra' => '', - 'composer_args' => '', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.1 mysql80 phpunit all', - ], - ], - ], + // 'cms 4' => [ + // 'branch' => '1.6', + // 'phpConstraint' => '^7.4 || ^8.0', + // 'expected' => [ + // [ + // 'installer_version' => '', + // 'php' => '7.4', + // 'db' => DB_MYSQL_57, + // 'composer_require_extra' => '', + // 'composer_args' => '--prefer-lowest', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '7.4 prf-low mysql57 phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.0', + // 'db' => DB_MYSQL_57_PDO, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.0 mysql57pdo phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.1', + // 'db' => DB_MYSQL_80, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.1 mysql80 phpunit all', + // ], + // ], + // ], + // 'cms 4 old composer pipe' => [ + // 'branch' => '1.6', + // 'phpConstraint' => '^7.4 | ^8.0', + // 'expected' => [ + // [ + // 'installer_version' => '', + // 'php' => '7.4', + // 'db' => DB_MYSQL_57, + // 'composer_require_extra' => '', + // 'composer_args' => '--prefer-lowest', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '7.4 prf-low mysql57 phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.0', + // 'db' => DB_MYSQL_57_PDO, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.0 mysql57pdo phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.1', + // 'db' => DB_MYSQL_80, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.1 mysql80 phpunit all', + // ], + // ], + // ], 'cms 5.1+' => [ 'branch' => '2.1', 'phpConstraint' => '^8.1', @@ -1157,102 +1277,10 @@ public function provideCreateJsonForConfig(): array 'needs_full_setup' => 'false', 'name' => '8.2 mysql80 phpunit all', ], - ], - ], - 'cms 5.x' => [ - 'branch' => '2', - 'phpConstraint' => '^8.1', - 'expected' => [ - [ - 'installer_version' => '', - 'php' => '8.1', - 'db' => DB_MYSQL_57, - 'composer_require_extra' => '', - 'composer_args' => '--prefer-lowest', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.1 prf-low mysql57 phpunit all', - ], [ 'installer_version' => '', 'php' => '8.2', - 'db' => DB_MARIADB, - 'composer_require_extra' => '', - 'composer_args' => '', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.2 mariadb phpunit all', - ], - [ - 'installer_version' => '', - 'php' => '8.3', - 'db' => DB_MYSQL_80, - 'composer_require_extra' => '', - 'composer_args' => '', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.3 mysql80 phpunit all', - ], - ], - ], - 'cms 6.x' => [ - 'branch' => '3', - 'phpConstraint' => '^8.3', - 'expected' => [ - [ - 'installer_version' => '', - 'php' => '8.3', - 'db' => DB_MARIADB, - 'composer_require_extra' => '', - 'composer_args' => '--prefer-lowest', - 'name_suffix' => '', - 'phpunit' => 'true', - 'phpunit_suite' => 'all', - 'phplinting' => 'false', - 'phpcoverage' => 'false', - 'endtoend' => 'false', - 'endtoend_suite' => 'root', - 'endtoend_config' => '', - 'endtoend_tags' => '', - 'js' => 'false', - 'doclinting' => 'false', - 'needs_full_setup' => 'false', - 'name' => '8.3 prf-low mariadb phpunit all', - ], - [ - 'installer_version' => '', - 'php' => '8.3', - 'db' => DB_MYSQL_80, + 'db' => DB_MYSQL_84, 'composer_require_extra' => '', 'composer_args' => '', 'name_suffix' => '', @@ -1267,10 +1295,162 @@ public function provideCreateJsonForConfig(): array 'js' => 'false', 'doclinting' => 'false', 'needs_full_setup' => 'false', - 'name' => '8.3 mysql80 phpunit all', + 'name' => '8.2 mysql84 phpunit all', ], ], ], + // 'cms 5.x' => [ + // 'branch' => '2', + // 'phpConstraint' => '^8.1', + // 'expected' => [ + // [ + // 'installer_version' => '', + // 'php' => '8.1', + // 'db' => DB_MYSQL_57, + // 'composer_require_extra' => '', + // 'composer_args' => '--prefer-lowest', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.1 prf-low mysql57 phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.2', + // 'db' => DB_MARIADB, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.2 mariadb phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.3', + // 'db' => DB_MYSQL_80, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.3 mysql80 phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.3', + // 'db' => DB_MYSQL_84, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.3 mysql84 phpunit all', + // ], + // ], + // ], + // 'cms 6.x' => [ + // 'branch' => '3', + // 'phpConstraint' => '^8.3', + // 'expected' => [ + // [ + // 'installer_version' => '', + // 'php' => '8.3', + // 'db' => DB_MARIADB, + // 'composer_require_extra' => '', + // 'composer_args' => '--prefer-lowest', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.3 prf-low mariadb phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.3', + // 'db' => DB_MYSQL_80, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.3 mysql80 phpunit all', + // ], + // [ + // 'installer_version' => '', + // 'php' => '8.3', + // 'db' => DB_MYSQL_84, + // 'composer_require_extra' => '', + // 'composer_args' => '', + // 'name_suffix' => '', + // 'phpunit' => 'true', + // 'phpunit_suite' => 'all', + // 'phplinting' => 'false', + // 'phpcoverage' => 'false', + // 'endtoend' => 'false', + // 'endtoend_suite' => 'root', + // 'endtoend_config' => '', + // 'endtoend_tags' => '', + // 'js' => 'false', + // 'doclinting' => 'false', + // 'needs_full_setup' => 'false', + // 'name' => '8.3 mysql84 phpunit all', + // ], + // ], + // ], ]; } @@ -1759,194 +1939,194 @@ public function provideComposerInstall(): array '7.4 mysql57 phpunit all' ] ], - 'composerinstall_nophpversion_framework5' => [ - 'true', - '', - '5.x-dev', - 'silverstripe-vendormodule', - [ - '8.1 mysql57 phpunit all' - ] - ], - 'composerinstall_nophpversion_framework6' => [ - 'true', - '', - '6.x-dev', - 'silverstripe-vendormodule', - [ - '8.3 mysql80 phpunit all' - ] - ], - 'composerinstall_definedphpversion_framework5' => [ - 'true', - '21.99', - '5.x-dev', - 'silverstripe-recipe', - [ - '21.99 mysql57 phpunit all' - ] - ], - 'composerinstall_invalidphpversion_framework5' => [ - 'true', - 'fish', - '5.x-dev', - 'silverstripe-theme', - [ - '8.1 mysql57 phpunit all' - ] - ], - 'composerupgrade_nophpversion_framework4' => [ - 'false', - '', - '4.x-dev', - 'silverstripe-module', - [ - '7.4 prf-low mysql57 phpunit all', - '8.0 mysql57pdo phpunit all', - '8.1 mysql80 phpunit all' - ] - ], - 'composerupgrade_nophpversion_framework5' => [ - 'false', - '', - '5.x-dev', - 'silverstripe-vendormodule', - [ - '8.1 prf-low mysql57 phpunit all', - '8.2 mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_nophpversion_framework6' => [ - 'false', - '', - '6.x-dev', - 'silverstripe-vendormodule', - [ - '8.3 prf-low mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_definedphpversion_framework5' => [ - 'false', - '21.99', - '5.x-dev', - 'silverstripe-recipe', - [ - '8.1 prf-low mysql57 phpunit all', - '8.2 mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_invalidphpversion_framework5' => [ - 'false', - 'fish', - '5.x-dev', - 'silverstripe-theme', - [ - '8.1 prf-low mysql57 phpunit all', - '8.2 mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_invalidphpversion_framework6' => [ - 'false', - 'fish', - '6.x-dev', - 'silverstripe-theme', - [ - '8.3 prf-low mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_nophpversion_framework51' => [ - 'false', - '', - '5.1.x-dev', - 'silverstripe-module', - [ - '8.1 prf-low mysql57 phpunit all', - '8.1 mariadb phpunit all', - '8.2 mysql80 phpunit all', - ] - ], - 'composerupgrade_definedphpversion_framework51' => [ - 'false', - '21.99', - '5.1.x-dev', - 'silverstripe-vendormodule', - [ - '8.1 prf-low mysql57 phpunit all', - '8.1 mariadb phpunit all', - '8.2 mysql80 phpunit all', - ] - ], - 'composerupgrade_invalidphpversion_framework51' => [ - 'false', - 'fish', - '5.1.x-dev', - 'silverstripe-recipe', - [ - '8.1 prf-low mysql57 phpunit all', - '8.1 mariadb phpunit all', - '8.2 mysql80 phpunit all', - ] - ], - 'composerupgrade_nophpversion_framework52' => [ - 'false', - '', - '5.2.x-dev', - 'silverstripe-theme', - [ - '8.1 prf-low mysql57 phpunit all', - '8.2 mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_definedphpversion_framework52' => [ - 'false', - '21.99', - '5.2.x-dev', - 'silverstripe-module', - [ - '8.1 prf-low mysql57 phpunit all', - '8.2 mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_invalidphpversion_framework52' => [ - 'false', - 'fish', - '5.2.x-dev', - 'silverstripe-vendormodule', - [ - '8.1 prf-low mysql57 phpunit all', - '8.2 mariadb phpunit all', - '8.3 mysql80 phpunit all', - ] - ], - 'composerupgrade_invalidphpversion_notmodule1' => [ - 'false', - 'fish', - '*', - 'package', - [ - '7.4 prf-low mysql57 phpunit all', - '8.0 mysql57pdo phpunit all', - '8.1 mysql80 phpunit all', - ] - ], - 'composerupgrade_invalidphpversion_notmodule2' => [ - 'false', - 'fish', - '*', - '', - [ - '7.4 prf-low mysql57 phpunit all', - '8.0 mysql57pdo phpunit all', - '8.1 mysql80 phpunit all', - ] - ], + // 'composerinstall_nophpversion_framework5' => [ + // 'true', + // '', + // '5.x-dev', + // 'silverstripe-vendormodule', + // [ + // '8.1 mysql57 phpunit all' + // ] + // ], + // 'composerinstall_nophpversion_framework6' => [ + // 'true', + // '', + // '6.x-dev', + // 'silverstripe-vendormodule', + // [ + // '8.3 mysql80 phpunit all' + // ] + // ], + // 'composerinstall_definedphpversion_framework5' => [ + // 'true', + // '21.99', + // '5.x-dev', + // 'silverstripe-recipe', + // [ + // '21.99 mysql57 phpunit all' + // ] + // ], + // 'composerinstall_invalidphpversion_framework5' => [ + // 'true', + // 'fish', + // '5.x-dev', + // 'silverstripe-theme', + // [ + // '8.1 mysql57 phpunit all' + // ] + // ], + // 'composerupgrade_nophpversion_framework4' => [ + // 'false', + // '', + // '4.x-dev', + // 'silverstripe-module', + // [ + // '7.4 prf-low mysql57 phpunit all', + // '8.0 mysql57pdo phpunit all', + // '8.1 mysql80 phpunit all' + // ] + // ], + // 'composerupgrade_nophpversion_framework5' => [ + // 'false', + // '', + // '5.x-dev', + // 'silverstripe-vendormodule', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.2 mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_nophpversion_framework6' => [ + // 'false', + // '', + // '6.x-dev', + // 'silverstripe-vendormodule', + // [ + // '8.3 prf-low mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_definedphpversion_framework5' => [ + // 'false', + // '21.99', + // '5.x-dev', + // 'silverstripe-recipe', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.2 mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_invalidphpversion_framework5' => [ + // 'false', + // 'fish', + // '5.x-dev', + // 'silverstripe-theme', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.2 mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_invalidphpversion_framework6' => [ + // 'false', + // 'fish', + // '6.x-dev', + // 'silverstripe-theme', + // [ + // '8.3 prf-low mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_nophpversion_framework51' => [ + // 'false', + // '', + // '5.1.x-dev', + // 'silverstripe-module', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.1 mariadb phpunit all', + // '8.2 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_definedphpversion_framework51' => [ + // 'false', + // '21.99', + // '5.1.x-dev', + // 'silverstripe-vendormodule', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.1 mariadb phpunit all', + // '8.2 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_invalidphpversion_framework51' => [ + // 'false', + // 'fish', + // '5.1.x-dev', + // 'silverstripe-recipe', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.1 mariadb phpunit all', + // '8.2 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_nophpversion_framework52' => [ + // 'false', + // '', + // '5.2.x-dev', + // 'silverstripe-theme', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.2 mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_definedphpversion_framework52' => [ + // 'false', + // '21.99', + // '5.2.x-dev', + // 'silverstripe-module', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.2 mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_invalidphpversion_framework52' => [ + // 'false', + // 'fish', + // '5.2.x-dev', + // 'silverstripe-vendormodule', + // [ + // '8.1 prf-low mysql57 phpunit all', + // '8.2 mariadb phpunit all', + // '8.3 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_invalidphpversion_notmodule1' => [ + // 'false', + // 'fish', + // '*', + // 'package', + // [ + // '7.4 prf-low mysql57 phpunit all', + // '8.0 mysql57pdo phpunit all', + // '8.1 mysql80 phpunit all', + // ] + // ], + // 'composerupgrade_invalidphpversion_notmodule2' => [ + // 'false', + // 'fish', + // '*', + // '', + // [ + // '7.4 prf-low mysql57 phpunit all', + // '8.0 mysql57pdo phpunit all', + // '8.1 mysql80 phpunit all', + // ] + // ], ]; } @@ -1985,6 +2165,7 @@ public function testDuplicateJobsRemoved(): void '8.1 prf-low mysql57 phpunit all', '8.2 mariadb phpunit all', '8.3 mysql80 phpunit all', + '8.3 mysql84 phpunit all', '8.2 mysql57 phpunit fish', '8.3 mysql57 phpunit fish', '8.3 mysql57 endtoend root',