feat(status-checks): report pending status check reasons - #44921
Open
rQcAnE4pk15VDHVa wants to merge 1 commit into
Open
feat(status-checks): report pending status check reasons#44921rQcAnE4pk15VDHVa wants to merge 1 commit into
rQcAnE4pk15VDHVa wants to merge 1 commit into
Conversation
jamietanna
self-requested a review
July 28, 2026 14:54
jamietanna
requested changes
Jul 28, 2026
Contributor
There was a problem hiding this comment.
Thanks for the start on this. A couple of things:
- doing the debug logs first (#40370 (comment)) would be best, as they can be user-friendly
- before or next, I'd want to surface the
pendingChecksReasonsas a more machine-readable reason, such asnot-met-minimum-release-ageor similar- we may want to make it an object, where we can then provide more context such as a timestamp we're waiting until for Minimum Release Age
- this may not be a user-facing thing, but something that's available to Renovate's internal stat
- once this is all wired in, we can look at surfacing this in the Dependency Dashboard
Hope that helps - happy to chat more with breaking this down!
Will double check your "discussion" points shortly
Contributor
|
For the Dependency Dashboard, something that may be useful here: #44926 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
This is my first OSS contribution. And I hate that it's so much code to review. I fear the feature crosses a lot of files. I found no way to squeeze it in a central place. Also I and gpt found discussion-worthy discrepancies :-/ Let me know what you think
Adds precise diagnostic information for branches that remain pending while Renovate waits for status checks.
Pending reasons are recorded where the corresponding decision is made, avoiding duplicated decision logic. Reasons include minimum release age, missing release timestamps, insufficient merge confidence,
prCreation=status-success,prCreation=not-pending, and pending branch automerge.The reasons are written to debug logs and can optionally be displayed in the Dependency Dashboard using:
{ "dependencyDashboardVerbosePendingChecks": true }The option is disabled by default to preserve the existing compact dashboard format. For individual updates, the dependency name is omitted from the reason when it is already present in the PR title. Grouped updates retain dependency names so each reason remains attributable.
The status-check flow also respects
ignoreTests, forced PR creation, and Dependency Dashboard approval without duplicating the PR creation decision logic.Example Dependency Dashboard output:
Discussion
1️⃣ Opinion?
There is an existing discrepancy between the documented behavior of
ignoreTestsand the new-commit PR creation path.The documentation states that
ignoreTests: truecauses Renovate to ignore all status checks. However, the existing new-commit path returnspendingbefore status resolution for every non-immediateprCreationmode, including whenignoreTestsis enabled. Existing unit tests currently codify this one-run delay.This PR follows the documented behavior: when
ignoreTestsis enabled, the new-commit status-check wait is skipped and PR processing continues immediately.Opinion?
2️⃣ Opinion?
A similar discrepancy exists for forced PR creation.
ensurePr()already allowsforcePrand Dependency DashboardapprovePrto bypassprCreation=not-pending. However, immediately after a new commit, an earlier pending return can prevent execution from reachingensurePr().This PR aligns the early new-commit path with
ensurePr()by allowing these explicit PR creation overrides to continue processing.prCreation=status-successremains strict and still requires successful status checks.Context
Please select one of the following:
AI assistance disclosure
Did you use AI tools to create any part of this pull request?
Please select one option and, if yes, briefly describe how AI was used (e.g., code, tests, docs) and which tool(s) you used.
AI assistance was used to implement and review the changes, add tests and documentation, and prepare this PR description.
Tool: OpenAI Codex / GPT-5. The agent was instructed to avoid duplicating decision logic. Pending reasons are captured where status decisions are made and passed through the existing branch-processing result.
Documentation (please check one with an [x])
How I've tested my work (please select one)
I have verified these changes via:
The public repository: N/A — tested against a private Azure DevOps repository.