Skip to content

fix: stops a project-root storage path deleting project files (#34) #130

fix: stops a project-root storage path deleting project files (#34)

fix: stops a project-root storage path deleting project files (#34) #130

Triggered via push July 20, 2026 09:53
Status Success
Total duration 11m 12s
Artifacts 2

ci.yml

on: push
Composer validate
9s
Composer validate
Shellcheck host runner
5s
Shellcheck host runner
Changelog structure
3s
Changelog structure
PHPStan
27s
PHPStan
CS Fixer
18s
CS Fixer
Coverage
57s
Coverage
Composer audit
20s
Composer audit
Mutation testing
11m 9s
Mutation testing
Matrix: tests
Fit to window
Zoom out
Zoom in

Annotations

10 warnings
Mutation testing: src/Command/DeployTasksGenerateCommand.php#L256
Escaped Mutant for Mutator "UnwrapRtrim": @@ @@ private function dirToNamespace(string $dir): string { - $dir = \rtrim($dir, '/'); + $dir = $dir; $parts = \explode('/', $dir); foreach ($parts as $segment) {
Mutation testing: src/Command/DeployTasksGenerateCommand.php#L233
Escaped Mutant for Mutator "MethodCallRemoval": @@ @@ ]); } - $this->fs->mkdir($absoluteDir, 0755); + $this->fs->dumpFile($filePath, $fileContent); $this->fs->chmod($filePath, 0640);
Mutation testing: src/Command/DeployTasksGenerateCommand.php#L175
Escaped Mutant for Mutator "CastString": @@ @@ return Command::FAILURE; } - $fileContent = (string) \file_get_contents($this->templatePath); + $fileContent = \file_get_contents($this->templatePath); $fileContent = \strtr($fileContent, [ '{{ namespace }}' => $namespace, '{{ className }}' => $className,
Mutation testing: src/Command/DeployTasksCreateSchemaCommand.php#L67
Escaped Mutant for Mutator "LogicalOr": @@ @@ $this->storage->createSchema(); - if (null === $this->configuration || null === $this->connectionName) { + if (null === $this->configuration && null === $this->connectionName) { $io->info('Storage schema was created.'); return Command::SUCCESS;
Mutation testing: src/Command/CommandMessages.php#L49
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ public static function formatDuration(int $durationMs): string { if ($durationMs < 1000) { - return \sprintf('%dms', $durationMs); + } return \sprintf('%.1fs', $durationMs / 1000);
Mutation testing: src/Command/CommandMessages.php#L48
Escaped Mutant for Mutator "LessThanNegotiation": @@ @@ */ public static function formatDuration(int $durationMs): string { - if ($durationMs < 1000) { + if ($durationMs >= 1000) { return \sprintf('%dms', $durationMs); }
Mutation testing: src/Command/CommandMessages.php#L48
Escaped Mutant for Mutator "LessThan": @@ @@ */ public static function formatDuration(int $durationMs): string { - if ($durationMs < 1000) { + if ($durationMs <= 1000) { return \sprintf('%dms', $durationMs); }
Mutation testing: src/Command/CommandMessages.php#L35
Escaped Mutant for Mutator "MatchArmRemoval": @@ @@ return match ($status) { TaskStatus::Ran => '<info>ran</info>', TaskStatus::Failed => '<error>failed</error>', - TaskStatus::Skipped => '<comment>skipped</comment>', }; }
Mutation testing: src/Command/CommandMessages.php#L35
Escaped Mutant for Mutator "MatchArmRemoval": @@ @@ { return match ($status) { TaskStatus::Ran => '<info>ran</info>', - TaskStatus::Failed => '<error>failed</error>', TaskStatus::Skipped => '<comment>skipped</comment>', }; }
Mutation testing: src/Attribute/AsDeployTask.php#L122
Escaped Mutant for Mutator "UnwrapArrayValues": @@ @@ $groupList = match (true) { null === $groups => [], - \is_array($groups) => \array_values($groups), + \is_array($groups) => $groups, default => [$groups], };

Artifacts

Produced during runtime
Name Size Digest
coverage-clover
18.2 KB
sha256:6556d367aa435c31485114067f5d4af820dcd1fd4e85bba851226da445a9b10a
infection-log
19.9 KB
sha256:04b3f1a6f73ed9a744d659a98b4906851e2869034a4e416d8b4ee1a6e7bdbb16