diff --git a/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Deployment.php b/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Deployment.php index f244dd1829..22920e7679 100644 --- a/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Deployment.php +++ b/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Deployment.php @@ -8,7 +8,7 @@ use Appwrite\Event\Publisher\Build as BuildPublisher; use Appwrite\Extend\Exception; use Appwrite\Filter\BranchDomain as BranchDomainFilter; use Appwrite\Vcs\Comment; -use Appwrite\Vcs\Validator\CommitSkipPatterns; +use Appwrite\Vcs\Validator\DeploymentSkipPatterns; use Utopia\Config\Config; use Utopia\Console; use Utopia\Database\Database; @@ -96,7 +96,9 @@ trait Deployment $resource = $authorization->skip(fn () => $dbForProject->getDocument($resourceCollection, $resourceId)); $resourceInternalId = $resource->getSequence(); - if (!$this->isResourceBuildable($logBase, $providerCommitMessage)) { + $commitSkip = new DeploymentSkipPatterns(); + if (!$commitSkip->isValid($providerCommitMessage)) { + Span::add("{$logBase}.build.skipped.reason", 'commitMessage'); Span::add("{$logBase}.build.skipped", 'true'); continue; } @@ -568,14 +570,4 @@ trait Deployment return System::getEnv('_APP_BUILDS_QUEUE_NAME', Event::BUILDS_QUEUE_NAME); } - private function isResourceBuildable(string $logBase, string $providerCommitMessage = ''): bool - { - $commitSkip = new CommitSkipPatterns(); - if (!$commitSkip->isValid($providerCommitMessage)) { - Span::add("{$logBase}.build.skipped.reason", 'commitMessage'); - return false; - } - - return true; - } } diff --git a/src/Appwrite/Vcs/Validator/CommitSkipPatterns.php b/src/Appwrite/Vcs/Validator/CommitSkipPatterns.php deleted file mode 100644 index 75f0bdd9c0..0000000000 --- a/src/Appwrite/Vcs/Validator/CommitSkipPatterns.php +++ /dev/null @@ -1,90 +0,0 @@ -assertFalse($validator->isValid('[skip ci] update changelog')); $this->assertFalse($validator->isValid('[ci skip] update changelog')); @@ -30,7 +30,7 @@ class CommitSkipPatternsTest extends TestCase public function testKnownSkipDirectivesAreCaseInsensitive(): void { - $validator = new CommitSkipPatterns(); + $validator = new DeploymentSkipPatterns(); $this->assertFalse($validator->isValid('[SKIP CI] update changelog')); $this->assertFalse($validator->isValid('[Skip Deploy] update changelog')); @@ -41,7 +41,7 @@ class CommitSkipPatternsTest extends TestCase public function testMessageWithoutKnownDirectiveProceeds(): void { - $validator = new CommitSkipPatterns(); + $validator = new DeploymentSkipPatterns(); $this->assertTrue($validator->isValid('fix: real bug fix')); $this->assertTrue($validator->isValid('feat: add new feature')); @@ -50,36 +50,28 @@ class CommitSkipPatternsTest extends TestCase $this->assertTrue($validator->isValid('skip-checks:true')); } - public function testDirectiveMustBeStandalone(): void + public function testDirectiveCanAppearAnywhere(): void { - $validator = new CommitSkipPatterns(); + $validator = new DeploymentSkipPatterns(); $this->assertFalse($validator->isValid('docs: update readme [skip deploy]')); - $this->assertTrue($validator->isValid('docs: update readme[skip deploy]')); - $this->assertTrue($validator->isValid('prefix[skip deploy]suffix')); + $this->assertFalse($validator->isValid('docs: update readme[skip deploy]')); + $this->assertFalse($validator->isValid('prefix[skip deploy]suffix')); $this->assertTrue($validator->isValid('refactor: skip appwrite cache seeding')); $this->assertTrue($validator->isValid('fix: appwrite skip quota check in tests')); } public function testMultilineCommitMessageSkips(): void { - $validator = new CommitSkipPatterns(); + $validator = new DeploymentSkipPatterns(); $message = "feat: add new stuff\n\nMore detail here.\n\n[skip deploy]"; $this->assertFalse($validator->isValid($message)); } - public function testWhitespaceInsideDirectiveIsNormalized(): void - { - $validator = new CommitSkipPatterns(); - - $this->assertFalse($validator->isValid('[skip deploy] docs only')); - $this->assertFalse($validator->isValid('[no actions] docs only')); - } - public function testNonStringCommitMessageProceeds(): void { - $validator = new CommitSkipPatterns(); + $validator = new DeploymentSkipPatterns(); $this->assertTrue($validator->isValid(null)); $this->assertTrue($validator->isValid([]));