diff --git a/app_dart/lib/src/service/firestore/unified_check_run.dart b/app_dart/lib/src/service/firestore/unified_check_run.dart index 56f3b3992..f45e91a45 100644 --- a/app_dart/lib/src/service/firestore/unified_check_run.dart +++ b/app_dart/lib/src/service/firestore/unified_check_run.dart @@ -485,7 +485,7 @@ For CI stage ${guardId.stage}: 'to "${state.status.name}".', ); } catch (e) { - log.error('$logCrumb: failed to update presubmit check', e); + log.info('$logCrumb: failed to update presubmit check', e); rethrow; } } diff --git a/app_dart/lib/src/service/github_checks_service.dart b/app_dart/lib/src/service/github_checks_service.dart index 52147996b..bc43392d9 100644 --- a/app_dart/lib/src/service/github_checks_service.dart +++ b/app_dart/lib/src/service/github_checks_service.dart @@ -118,14 +118,17 @@ class GithubChecksService { /// Appends triage wiki page to `summaryMarkdown` from LUCI build so that people can easily /// reference from github check run page. String getGithubSummary(String? summary) { + return getGithubSummaryWithHeader(kGithubSummary, summary); + } + + String getGithubSummaryWithHeader(String header, String? summary) { if (summary == null) { - return '${kGithubSummary}Empty summaryMarkdown'; + return '${header}Empty summaryMarkdown'; } // This is an imposed GitHub limit const checkSummaryLimit = 65535; // This is to give buffer room incase GitHub lowers the amount. - const checkSummaryBufferLimit = - checkSummaryLimit - 10000 - kGithubSummary.length; + final checkSummaryBufferLimit = checkSummaryLimit - 10000 - header.length; // Return the last [checkSummaryBufferLimit] characters as they are likely the most relevant. if (summary.length > checkSummaryBufferLimit) { final truncatedSummary = summary.substring( @@ -133,7 +136,7 @@ class GithubChecksService { ); summary = '[TRUNCATED...] $truncatedSummary'; } - return '$kGithubSummary$summary'; + return '$header$summary'; } /// Relevant APIs: diff --git a/app_dart/lib/src/service/scheduler.dart b/app_dart/lib/src/service/scheduler.dart index 0b76139f9..203a80527 100644 --- a/app_dart/lib/src/service/scheduler.dart +++ b/app_dart/lib/src/service/scheduler.dart @@ -869,7 +869,7 @@ $s status: CheckRunStatus.completed, conclusion: CheckRunConclusion.failure, output: CheckRunOutput( - title: Config.kCiYamlCheckName, + title: Config.kMergeQueueLockName, summary: summary, text: details, ), @@ -900,12 +900,11 @@ detailsUrl: $detailsUrl status: CheckRunStatus.completed, conclusion: CheckRunConclusion.actionRequired, output: CheckRunOutput( - title: Config.kCiYamlCheckName, + title: Config.kMergeQueueLockName, summary: summary, text: details, ), - // temporary disabled due to https://github.com/flutter/flutter/issues/181425 - //detailsUrl: detailsUrl, + detailsUrl: detailsUrl, actions: [ const CheckRunAction( label: 'Re-run Failed', @@ -1097,15 +1096,19 @@ detailsUrl: $detailsUrl ); } else if (check.isUnifiedCheckRun) { final guard = checkRunFromString(stagingConclusion.checkRunGuard!); + final detailsUrl = + 'https://flutter-dashboard.appspot.com/#/presubmit?repo=${check.slug.name}&checkrun=${check.guardId.checkRunId}'; await _requireActionForGuard( slug: check.slug, lock: guard, headSha: check.sha, - summary: kMergeQueueLockDescription, + summary: _githubChecksService.getGithubSummaryWithHeader(''' +**[Failed Checks Details]($detailsUrl)** + +''', kMergeQueueLockDescription), details: 'For CI stage ${check.stage} ${stagingConclusion.failed} checks failed', - detailsUrl: - 'https://flutter-dashboard.appspot.com/repo/${check.slug.name}/checkrun/${check.guardId}', + detailsUrl: detailsUrl, ); } return true;