-
Notifications
You must be signed in to change notification settings - Fork 5
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
Try run details are not being added to a bug #201
Comments
The whole We've got a few aspects of Updatebot this interacts with:
Here are some assertions we've made that we're going to start violating. We'll need to change our code to accept and deal with these new violations:
|
There seems to be three aspects to this work.
(2) seems easy. For each library that has Updatebot tasks, we can just ask the database for all the existing jobs for that library, and iterate through them, taking actions. (What actions to be decided by (3).) We should do this before we look for any new revisions, that way we don't have to exempt a job we just created. (3) To start with, let's outline the actions we could take for a job:
And let's define how we know a job's state:
The problem we want to avoid is what Relinquished was designed to solve: we absolutely don't want Updatebot and Humans getting into a resolution-flipping loop where Updatebot closes something, a human re-opens it, and Updatebot sees it's open and tries to close it. I do not think we can reliably use Bugzilla status to determine this, so we need to have some indicator in the Updatebot database. For the sake of continuity, I'm going to refer to these jobs as Relinquished jobs for now... The rules I am seeing emerge from this are: a. If we have a new revision, and the prior job is not Relinquished and the job's bug is Open, we should abandon the patch, close the bug, supersede it by a new bug, and mark it as Relinquished in the database. (An abandoned patch can be commandeered and reclaimed, although this will require a second human to signoff on the patch.) Relinquished status only affects whether or not we will do the two-step process of closing a bug and abandoning a revision. It will not affect any other aspect of behavior. A job that has been relinquished can still do all the actions indicated in (b) or (c). |
I got most of this written, but then hit an unfortunate situation. Job A runs, sends it to try. We can't change its status - we need it to process the try run results later. I think the solution to this is to remove the 'Aborted' outcome. It seems like it would be helpful to know that a job was actively superseded by another bug, but in practice I don't think we care about that outcome at all. |
Observed in https://bugzilla.mozilla.org/show_bug.cgi?id=1733013
The problem sequence is:
At this point whether or not we process the new release we will not make any follow up comment on the old release's bug. If we do process the new release we will close the old bug. If we don't, we leave it up but don't comment.
If we have never summarized the try run results, we should do so and add them to the bug - whether or not the bug is open or it is the newest release. Before summarizing them, we should retrigger them if needed. (Not retriggering them may make some sense but it's easier to not complicated the control flow and I think retriggering them also makes some sense.)
The text was updated successfully, but these errors were encountered: