|
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