diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php --- a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php +++ b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php @@ -7,6 +7,24 @@ PhabricatorRepository $repository, PhabricatorRepositoryCommit $commit) { + $this->triggerOwnerAudits($repository, $commit); + + $commit->writeImportStatusFlag( + PhabricatorRepositoryCommit::IMPORTED_OWNERS); + + if ($this->shouldQueueFollowupTasks()) { + PhabricatorWorker::scheduleTask( + 'PhabricatorRepositoryCommitHeraldWorker', + array( + 'commitID' => $commit->getID(), + )); + } + } + + private function triggerOwnerAudits( + PhabricatorRepository $repository, + PhabricatorRepositoryCommit $commit) { + if ($repository->getDetail('herald-disabled')) { return; } @@ -61,17 +79,6 @@ $commit->updateAuditStatus($requests); $commit->save(); } - - $commit->writeImportStatusFlag( - PhabricatorRepositoryCommit::IMPORTED_OWNERS); - - if ($this->shouldQueueFollowupTasks()) { - PhabricatorWorker::scheduleTask( - 'PhabricatorRepositoryCommitHeraldWorker', - array( - 'commitID' => $commit->getID(), - )); - } } private function checkAuditReasons( diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php --- a/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php +++ b/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php @@ -13,14 +13,15 @@ $commit_id = idx($this->getTaskData(), 'commitID'); if (!$commit_id) { - return false; + throw new PhabricatorWorkerPermanentFailureException( + pht('No "%s" in task data.', 'commitID')); } $commit = id(new PhabricatorRepositoryCommit())->load($commit_id); if (!$commit) { - // TODO: Communicate permanent failure? - return false; + throw new PhabricatorWorkerPermanentFailureException( + pht('Commit "%s" does not exist.', $commit_id)); } return $this->commit = $commit;