Repository navigation
Fix false release failures after GitHub API connection errors - #908
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
More details
The recovery path preserves a single workflow dispatch and reports an unknown result when GitHub cannot confirm completion. The specialist review found no actionable regressions, and human PR discussion supplied no contrary evidence.
🤖 Bits Code Review · Commit 636fefa
CI Test ResultsRun: #41068506990 | Commit:
Status Overview
Legend: ✅ passed | ❌ failed | ⚪ skipped | 🚫 cancelled Summary: Total: 32 | Passed: 32 | Failed: 0 Updated: 2026-10-30 14:28:02 UTC |
jbachorik
left a comment
There was a problem hiding this comment.
Thanks for taking care of this.
Only a few nits.
| WORKFLOW_CONCLUSION="success" | ||
| break | ||
| ;; | ||
| failure|cancelled|timed_out|action_required|startup_failure|stale|neutral|skipped) |
There was a problem hiding this comment.
Are action_required|stale|neutral actually failures?
There was a problem hiding this comment.
they represent official GitHub report states, so they are not necessarily errors but rather not successful states. I've modified this part a bit so it is clearer.
| echo " View logs: gh run view $RUN_ID --log-failed" | ||
| echo " View logs: gh run view $RUN_ID --repo $REPO --log-failed" | ||
| else | ||
| print_warning "Monitoring could not confirm the workflow result. The remote run may still be running." |
There was a problem hiding this comment.
Should we have some kind of timeout here with user confirmation? If we don't reach conclusion within, let's say 30 minutes, user should decide whether it is expected or rather this should counted as a failure, perhaps?
There was a problem hiding this comment.
I agree that's a good idea. I've put a timeout of one-hour in case the CI takes time, then the user can choose to wait or to consider this is a failure.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d9f3791b7b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Swish! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
What does this PR do?:
Distinguishes GitHub workflow results from local monitoring errors. Reconnects to the existing run, preserves its actual conclusion, and bounds each monitoring window.
Motivation:
A connection reset while watching a successful release produced
WORKFLOW FAILED. Reading the remote result avoids misleading failure reports and unnecessary release retries.Additional Notes:
successexits zero. Other recognized conclusions retain their exact values; unconfirmed results reportWORKFLOW STATUS UNKNOWNand exit nonzero.How to test the change?:
bash .github/scripts/tests/test_release_automation.shcovering connection recovery, terminal conclusions, deadlines, interactive extensions, and reuse of the same workflow run.spotlessApply, andgit diff --check.For Datadog employees:
credentials of any kind, I've requested a security review (run the
dd:platform-security-reviewskill, or file a request via the PSEC review form).
bewairealso runs automatically on every PR.Unsure? Have a question? Request a review!