diff --git a/bot/code_review_bot/cli.py b/bot/code_review_bot/cli.py index c3f3a0d65..3e12e4029 100644 --- a/bot/code_review_bot/cli.py +++ b/bot/code_review_bot/cli.py @@ -67,7 +67,7 @@ def parse_cli(): parser.add_argument( "--github-repository", help="Optional path to a up-to-date github repository matching the analyzed revision.\n" - "This argument is required for Github reviusions in order to compute issues' hashes based on file content.", + "This argument is required for Github revisions in order to compute issues' hashes based on file content.", type=Path, default=None, ) @@ -254,7 +254,7 @@ def main(): duration=0, ) - if phabricator_reporting_enabled: + if phabricator_reporting_enabled and isinstance(revision, PhabricatorRevision): w.phabricator.update_build_target( revision.build_target_phid, BuildState.Fail, unit=[failure] ) diff --git a/bot/code_review_bot/report/phabricator.py b/bot/code_review_bot/report/phabricator.py index a3d6d88bc..f0c7cf0f8 100644 --- a/bot/code_review_bot/report/phabricator.py +++ b/bot/code_review_bot/report/phabricator.py @@ -12,6 +12,7 @@ from code_review_bot import Issue, Level, stats from code_review_bot.backend import BackendAPI from code_review_bot.report.base import Reporter +from code_review_bot.revisions import PhabricatorRevision from code_review_bot.tasks.clang_tidy_external import ExternalTidyIssue from code_review_bot.tasks.coverage import CoverageIssue from code_review_bot.tools import treeherder @@ -163,6 +164,11 @@ def publish(self, issues, revision, task_failures, notices, reviewers): * publishable issues use lint results * build errors are displayed as unit test results """ + if not isinstance(revision, PhabricatorRevision): + logger.debug( + f"Skipping Phabricator publication ({revision.__class__.__name__})" + ) + return # Add extra reviewers groups to the revision if reviewers: diff --git a/bot/code_review_bot/workflow.py b/bot/code_review_bot/workflow.py index 67fbf602a..3face72be 100644 --- a/bot/code_review_bot/workflow.py +++ b/bot/code_review_bot/workflow.py @@ -98,7 +98,7 @@ def run(self, revision): # Set the Phabricator build as running self.update_status(revision, state=BuildState.Work) - if settings.taskcluster_url: + if settings.taskcluster_url and isinstance(revision, PhabricatorRevision): self.publish_link( revision, slug="publication", @@ -278,7 +278,7 @@ def start_analysis(self, revision): # Set the Phabricator build as running self.update_status(revision, state=BuildState.Work) - if settings.taskcluster_url: + if settings.taskcluster_url and isinstance(revision, PhabricatorRevision): self.publish_link( revision, slug="analysis", @@ -347,7 +347,7 @@ def start_analysis(self, revision): self.index(revision, state="pushed_to_try") # Update final state using worker output - if self.update_build: + if self.update_build and isinstance(revision, PhabricatorRevision): publish_analysis_phabricator(output, self.phabricator) else: logger.info("Skipping Phabricator publication") @@ -726,7 +726,7 @@ def update_status(self, revision, state): ) return - if not self.update_build: + if not self.update_build or not isinstance(revision, PhabricatorRevision): logger.info( "Update build disabled, skipping HarborMaster update", state=state.value )