diff --git a/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Authorize/External/Update.php b/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Authorize/External/Update.php index b3ff4f96fa..56230b7de3 100644 --- a/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Authorize/External/Update.php +++ b/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Authorize/External/Update.php @@ -131,7 +131,10 @@ class Update extends Action $providerCommitAuthorUrl = $commitDetails["commitAuthorUrl"] ?? ''; $prFiles = $github->getPullRequestFiles($owner, $providerRepositoryName, $providerPullRequestId); - $providerAffectedFiles = array_column($prFiles, 'filename'); + $providerAffectedFiles = [ + ...array_column($prFiles, 'filename'), + ...array_column($prFiles, 'previous_filename') + ]; $this->createGitDeployments($github, $providerInstallationId, $repositories, $providerBranch, $providerBranchUrl, $providerRepositoryName, $providerRepositoryUrl, $providerRepositoryOwner, $providerCommitHash, $providerCommitAuthor, $providerCommitAuthorUrl, $providerCommitMessage, $providerCommitUrl, $providerPullRequestId, $providerAffectedFiles, true, $dbForPlatform, $authorization, $queueForBuilds, $getProjectDB, $platform); diff --git a/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Events/Create.php b/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Events/Create.php index 09929cc64c..28aeb8c140 100644 --- a/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Events/Create.php +++ b/src/Appwrite/Platform/Modules/VCS/Http/GitHub/Events/Create.php @@ -213,7 +213,10 @@ class Create extends Action $providerCommitMessage = $commitDetails["commitMessage"] ?? ''; $prFiles = $github->getPullRequestFiles($providerRepositoryOwner, $providerRepositoryName, $providerPullRequestId); - $providerAffectedFiles = array_column($prFiles, 'filename'); + $providerAffectedFiles = [ + ...array_column($prFiles, 'filename'), + ...array_column($prFiles, 'previous_filename') + ]; $repositories = $authorization->skip(fn () => $dbForPlatform->find('repositories', [ Query::equal('providerRepositoryId', [$providerRepositoryId]), diff --git a/src/Appwrite/Vcs/Validator/BuildTrigger.php b/src/Appwrite/Vcs/Validator/BuildTrigger.php index 0cad312e7b..842d81a455 100644 --- a/src/Appwrite/Vcs/Validator/BuildTrigger.php +++ b/src/Appwrite/Vcs/Validator/BuildTrigger.php @@ -6,7 +6,9 @@ use Utopia\Validator; class BuildTrigger extends Validator { - public function __construct(private readonly array $patterns) {} + public function __construct(private readonly array $patterns) + { + } public function isValid($value): bool { @@ -32,7 +34,7 @@ class BuildTrigger extends Validator } // A pattern is "specific" when it contains no wildcard characters. - $isSpecific = fn($p) => !str_contains($p, '*') && !str_contains($p, '?'); + $isSpecific = fn ($p) => !str_contains($p, '*') && !str_contains($p, '?'); // 1. Specific inclusion always wins — an explicit exact match is never blocked. foreach ($include as $pattern) {