Fix ci_success validation. (#1892)
diff --git a/auto_submit/lib/validations/ci_successful.dart b/auto_submit/lib/validations/ci_successful.dart
index 247c4b4..47df5cf 100644
--- a/auto_submit/lib/validations/ci_successful.dart
+++ b/auto_submit/lib/validations/ci_successful.dart
@@ -31,13 +31,13 @@
'luci-engine', // engine repo
'submit-queue', // plugins repo
};
-
List<ContextNode> statuses = <ContextNode>[];
Commit commit = pullRequest.commits!.nodes!.single.commit!;
- if (commit.status!.contexts!.isNotEmpty) {
+ // Recently most of the repositories have migrated away of using the status
+ // APIs and for those repos commit.status is null.
+ if (commit.status != null && commit.status!.contexts!.isNotEmpty) {
statuses.addAll(commit.status!.contexts!);
}
-
// Ensure repos with tree statuses have it set
if (Config.reposWithTreeStatus.contains(slug)) {
bool treeStatusExists = false;
@@ -54,7 +54,6 @@
failures.add(FailureDetail('tree status $treeStatusName', 'https://flutter-dashboard.appspot.com/#/build'));
}
}
-
// List of labels associated with the pull request.
final List<String> labelNames = (messagePullRequest.labels as List<github.IssueLabel>)
.map<String>((github.IssueLabel labelMap) => labelMap.name)
@@ -73,7 +72,6 @@
}
}
}
-
final GithubService gitHubService = await config.createGithubService(slug);
final String? sha = commit.oid;
List<github.CheckRun> checkRuns = <github.CheckRun>[];
@@ -92,7 +90,6 @@
}
allSuccess = false;
}
-
if (!allSuccess && failures.isEmpty) {
return ValidationResult(allSuccess, Action.IGNORE_TEMPORARILY, '');
}