|
66 | 66 | _COMMENT_TITLE_FLAKY = "### Integration test with FLAKINESS (succeeded after retry)\n" |
67 | 67 | _COMMENT_TITLE_FAIL = "### ❌ Integration test FAILED\n" |
68 | 68 | _COMMENT_TITLE_SUCCEED = "### ✅ Integration test succeeded!\n" |
69 | | -_COMMENT_TITLE_FLAKY_SDK = "\n***\n### [build against SDK] Integration test with FLAKINESS (succeeded after retry)\n" |
70 | | -_COMMENT_TITLE_FAIL_SDK = "\n***\n### ❌ [build against SDK] Integration test FAILED\n" |
71 | | -_COMMENT_TITLE_SUCCEED_SDK = "\n***\n### ✅ [build against SDK] Integration test succeeded!\n" |
72 | 69 | _COMMENT_TITLE_FLAKY_REPO = "### [build against repo] Integration test with FLAKINESS (succeeded after retry)\n" |
73 | 70 | _COMMENT_TITLE_FAIL_REPO = "### ❌ [build against repo] Integration test FAILED\n" |
74 | 71 | _COMMENT_TITLE_SUCCEED_REPO = "### ✅ [build against repo] Integration test succeeded!\n" |
| 72 | +_COMMENT_TITLE_FLAKY_SDK = "\n***\n### [build against SDK] Integration test with FLAKINESS (succeeded after retry)\n" |
| 73 | +_COMMENT_TITLE_FAIL_SDK = "\n***\n### ❌ [build against SDK] Integration test FAILED\n" |
| 74 | +_COMMENT_TITLE_SUCCEED_SDK = "\n***\n### ✅ [build against SDK] Integration test succeeded!\n" |
| 75 | +_COMMENT_TITLE_FLAKY_TIP = "\n***\n### [build against tip] Integration test with FLAKINESS (succeeded after retry)\n" |
| 76 | +_COMMENT_TITLE_FAIL_TIP = "\n***\n### ❌ [build against tip] Integration test FAILED\n" |
| 77 | +_COMMENT_TITLE_SUCCEED_TIP = "\n***\n### ✅ [build against tip] Integration test succeeded!\n" |
75 | 78 |
|
76 | 79 | _COMMENT_FLAKY_TRACKER = "\n\nAdd flaky tests to **[go/fpl-cpp-flake-tracker](http://go/fpl-cpp-flake-tracker)**\n" |
77 | 80 |
|
78 | 81 | _COMMENT_IDENTIFIER = "integration-test-status-comment" |
79 | | -_COMMENT_HIDDEN_DIVIDER = f'\n<hidden value="{_COMMENT_IDENTIFIER}"></hidden>\n' |
| 82 | +_COMMENT_HIDDEN_DIVIDER = f'\r\n<hidden value="{_COMMENT_IDENTIFIER}"></hidden>\r\n' |
80 | 83 |
|
81 | 84 | _LOG_ARTIFACT_NAME = "log-artifact" |
82 | 85 | _LOG_OUTPUT_DIR = "test_results" |
|
89 | 92 |
|
90 | 93 | _BUILD_AGAINST_SDK = "sdk" |
91 | 94 | _BUILD_AGAINST_REPO = "repo" |
| 95 | +_BUILD_AGAINST_TIP = "tip" |
92 | 96 |
|
93 | 97 | _BUILD_API_ALL = "all" |
94 | 98 | _BUILD_API_FIRESTORE = "firestore" |
@@ -222,27 +226,44 @@ def test_report(token, actor, commit, run_id, build_against, build_apis): |
222 | 226 |
|
223 | 227 | issue_number = _get_issue_number(token, report_title, _REPORT_LABEL) |
224 | 228 | previous_comment = github.get_issue_body(token, issue_number) |
225 | | - [_, previous_comment_repo, previous_comment_sdk] = previous_comment.split(_COMMENT_HIDDEN_DIVIDER) |
| 229 | + [_, previous_comment_repo, previous_comment_sdk, previous_comment_tip] = previous_comment.split(_COMMENT_HIDDEN_DIVIDER) |
226 | 230 | success_or_only_flakiness, log_summary = _get_summary_table(token, run_id) |
227 | 231 | if success_or_only_flakiness and not log_summary: |
228 | 232 | # succeeded (without flakiness) |
229 | | - title = _COMMENT_TITLE_SUCCEED_REPO if build_against==_BUILD_AGAINST_REPO else _COMMENT_TITLE_SUCCEED_SDK |
| 233 | + if build_against==_BUILD_AGAINST_REPO: |
| 234 | + title = _COMMENT_TITLE_SUCCEED_REPO |
| 235 | + elif build_against==_BUILD_AGAINST_SDK: |
| 236 | + title = _COMMENT_TITLE_SUCCEED_SDK |
| 237 | + else: |
| 238 | + title = _COMMENT_TITLE_SUCCEED_TIP |
230 | 239 | comment = title + _get_description(actor, commit, run_id) |
231 | 240 | else: |
232 | 241 | if success_or_only_flakiness: |
233 | 242 | # all failures/errors are due to flakiness (succeeded after retry) |
234 | | - title = _COMMENT_TITLE_FLAKY_REPO if build_against==_BUILD_AGAINST_REPO else _COMMENT_TITLE_FLAKY_SDK |
| 243 | + if build_against==_BUILD_AGAINST_REPO: |
| 244 | + title = _COMMENT_TITLE_FLAKY_REPO |
| 245 | + elif build_against==_BUILD_AGAINST_SDK: |
| 246 | + title = _COMMENT_TITLE_FLAKY_SDK |
| 247 | + else: |
| 248 | + title = _COMMENT_TITLE_FLAKY_TIP |
235 | 249 | else: |
236 | 250 | # failures/errors still exist after retry |
237 | | - title = _COMMENT_TITLE_FAIL_REPO if build_against==_BUILD_AGAINST_REPO else _COMMENT_TITLE_FAIL_SDK |
| 251 | + if build_against==_BUILD_AGAINST_REPO: |
| 252 | + title = _COMMENT_TITLE_FAIL_REPO |
| 253 | + elif build_against==_BUILD_AGAINST_SDK: |
| 254 | + title = _COMMENT_TITLE_FAIL_SDK |
| 255 | + else: |
| 256 | + title = _COMMENT_TITLE_FAIL_TIP |
238 | 257 | comment = title + _get_description(actor, commit, run_id) + log_summary + _COMMENT_FLAKY_TRACKER |
239 | 258 |
|
240 | 259 | if build_against==_BUILD_AGAINST_REPO: |
241 | | - comment = prefix + _COMMENT_HIDDEN_DIVIDER + comment + _COMMENT_HIDDEN_DIVIDER + previous_comment_sdk |
| 260 | + comment = prefix + _COMMENT_HIDDEN_DIVIDER + comment + _COMMENT_HIDDEN_DIVIDER + previous_comment_sdk + _COMMENT_HIDDEN_DIVIDER + previous_comment_tip |
242 | 261 | elif build_against==_BUILD_AGAINST_SDK: |
243 | | - comment = prefix + _COMMENT_HIDDEN_DIVIDER + previous_comment_repo + _COMMENT_HIDDEN_DIVIDER + comment |
| 262 | + comment = prefix + _COMMENT_HIDDEN_DIVIDER + previous_comment_repo + _COMMENT_HIDDEN_DIVIDER + comment + _COMMENT_HIDDEN_DIVIDER + previous_comment_tip |
| 263 | + else: |
| 264 | + comment = prefix + _COMMENT_HIDDEN_DIVIDER + previous_comment_repo + _COMMENT_HIDDEN_DIVIDER + previous_comment_sdk + _COMMENT_HIDDEN_DIVIDER + comment |
244 | 265 |
|
245 | | - if (_COMMENT_TITLE_SUCCEED_REPO in comment) and (_COMMENT_TITLE_SUCCEED_SDK in comment): |
| 266 | + if (_COMMENT_TITLE_SUCCEED_REPO in comment) and (_COMMENT_TITLE_SUCCEED_SDK in comment) and (build_apis != _BUILD_API_FIRESTORE or _COMMENT_TITLE_SUCCEED_TIP in comment): |
246 | 267 | github.close_issue(token, issue_number) |
247 | 268 | else: |
248 | 269 | github.open_issue(token, issue_number) |
|
0 commit comments