-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't treat renovate/stability-days as passing status check #7800
Comments
This may be platform-specific though, possibly we cannot access the details to perform this type of filtering per-platform. Also it might be worthwhile to move pass/pending/fail logic up from the platform layer (where we duplicate a lot of logic) to the worker layer. |
Maybe a better option is to remove the stabillity check status instead of add it as passing? |
Maybe, but we're probably going to end up with a few renovate/* checks before too long - stability, confidence, automerge. So best if we learn to exclude them from counting |
The trouble with having the stability status check is that using GitLab's "Pipelines must succeed" feature, it is possible to manually merge MRs prematurely as well as renovate automerging if using external pipelines like I described in #5743 (comment) |
The proposed solution would stop undesirable automerging. However we can't stop all undesirable manual behavior. |
True, but removing the status check as @viceice suggested would prevent the manual merging in this case. Although based on your prediction of future status checks, excluding them from counting is the more sensible solution. |
Are either of you sure that's even possible? I only see adding and updating here: https://docs.gitlab.com/ee/api/commits.html#commit-status |
@rarkins doesn't look like it so I guess that option is ruled out! |
Hopefully GitLab will support mandatory status checks soon |
Could this be tied into https://github.com/renovatebot/renovate/issues/1853 (and the closed PR #4597)? |
This comment was marked as outdated.
This comment was marked as outdated.
@rarkins In Gitlab API: https://docs.gitlab.com/ee/api/commits.html#post-the-build-status-to-a-commit
by something like:
|
The main reason for this is for preventing automerge. There's probably some people who would like to use this still in prCreation=not-pending |
Today if someone has
If instead we say that to use prCreation=not-pending requires you to have your own tests (and not just rely on our stability days), then I think we can solve this as described. |
Is the stability test cross-platform or GitHub only? |
cross platform |
currently every platform handles status checks on its own. we should refactor it to return massaged status checks, like we do with PR / issues and handle all other in worker code. that way we can filter some status checks more easy |
I think we have it had an open issue to refactor status checks to the worker layer. I got a feeling I closed it recently, maybe thinking it was too hard in GitHub's case due to both status checks and check runs. |
what about the new suggested approach ?
|
doesn't work, as it can't be deleted when it was red and should be green now. so we need to update it to green. |
This reverts commit 61d68fa. I no longer think this was the problem with Renovate closing the PR too early I think the problem was renovatebot/renovate#7800
The To close this issue, each platform's One possible problem - and why I just set this back to requirements - is that there may be users who have no tests but rely on something like stability days before automerging. Technically this change would be backwards incompatible for them, so we need to decide:
I think the second option is probably best for Renovate users overall, because of the bad impact the current behavior can have on users. So therefore the plan would be:
If nobody has any strong objections to that, we can set this back to |
@rarkins Sounds great, would work for our use case. |
Hi @rarkins ! When do you plan to release this feature? |
Adds new config option `internalChecksAsSuccess`, defaulting to `false`. Closes #7800 BREAKING CHANGE: Internal checks such as `renovate/stability-days` will no longer count as passing/green, meaning that actions such as `automerge` won't occur if the only checks are Renovate internal ones. Set `internalChecksAsSuccess=true` to restore existing behavior.
Thanks @rarkins for solving this issue. 🙏 |
🎉 This issue has been resolved in version 35.0.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
@rarkins Hi! It looks like this feature does not work. Bot still provides green pipeline for stasbility-days and merges such MRs. |
Please create a new Discussion (not issue) with reproduction and logs from a public gitlab.com repo to demonstrate |
If the only passing status check is renovate/stability-days then we should consider that as zero passing status checks and therefore still "pending". Original:
@andrewgies17 in my instance I use an external CI pipeline (Jenkins) which reports to GitLab. The Jenkins jobs sometimes take a while to start and if the stability days status check gets applied first, the MR can be merged before the Jenkins job has started. It would be useful if there was an option to only apply the stability days status check if there is already a passing pipeline.
Originally posted by @grit96 in #5743 (comment)
The text was updated successfully, but these errors were encountered: