Repository navigation
fix: debounce failed backports, based on marker in failure comment - #232
Conversation
Coverage report
Show files with reduced coverage 🔻
Test suite run success230 tests passing in 19 suites. Report generated by 🧪jest coverage report action from 4826977 |
lampajr
left a comment
There was a problem hiding this comment.
Hey again @BtbN 👋🏻
Overall looks good and, even though the last comment might not be the one posted by the failure, I think that's a good tradeoff.
Could you please add some small section about this behavior in the README? This might be subtle if not properly documented.
I merged the other PR, do you mind rebasing and resolving conflicts?
044a605 to
e9e44fc
Compare
|
It's not the last comment, but the last "page", as per the pagination of the API, of comments. Could also add a line like "Delete this comment to allow retries.". Rebased as-is for now. |
0d36224 to
cdb8088
Compare
cdb8088 to
4826977
Compare
|
Oh I missed it is the last page, I believe that's a fair tradeoff for now - I don't think there will be many cases where this won't work. Either way we can improve it later.
Yeah these would be great, or something like "Subsequent backports are blocked. Delete this comment to unblock retries" |
|
I've extended it a bit so it's the last two pages. Since on GitHub, the last page can be just one singular comment. |
|
Thanks a lot @BtbN 🙏 |
Description
This is the other part to the previous PR #231.
If the backport fails, but then something triggers a re-run of the backport action, like additional lables being added or removed, it could get incredibly spammy, since naturally the backport will fail every time.
This adds a small commented out tag to each failure comment, and then scans the existing comments for that tag before even trying to do the same backport again.
For a retry the comment has to be deleted or the tag edited out of it.
How Has This Been Tested?
This has also been actively in use on the FFmpeg Forgejo instance, and done a couple dozen of successfull backport PRs.
Checklist