Closed Bug 636027 Opened 13 years ago Closed 13 years ago

self-serve is cumbersome for cancelling a whole build

Categories

(Release Engineering :: General, defect, P3)

x86
macOS
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: paul.biggar, Assigned: catlee)

References

Details

(Keywords: buildapi)

Attachments

(1 file, 1 obsolete file)

Suppose I submit a tryserver build with all 9 (10?) platforms, but discover one of them fails. In that case, I'll want to cancel them all. Doing this is cumbersome.

Right now I would go to the self-serve page, and click 'cancel' (wait for page), then the back button (wait for page), then pick the next build and resume (in practice, I need to refresh the page periodically to know which builds I've cancelled).

A less cumbersome interface would be a button to cancel all builds for one revision, or making the 'cancel' button a link so I could middle-click all the cancels in turn.

self-serve is otherwise awesome, thanks.
Time was, you could command-click buttons and they would open in a new tab.  Not that that would fix this problem, but it'd make it a lot easier.  My solution now is to just open a bunch of copies of the buildapi page in tabs, and then click the proper button on each page.
It should also be noted that self serve is not meant to be a full functioning interface, but rather a programmatic one that others can develop off of. (from http://atlee.ca/blog/2011/02/17/self-serve-builds/)
Assigning to catlee for prioritization when he is back from holidays since he has been doing most of the work in this area.
Assignee: nobody → catlee
Whiteboard: [selfserve]
(In reply to comment #2)
> It should also be noted that self serve is not meant to be a full functioning
> interface, but rather a programmatic one that others can develop off of. (from
> http://atlee.ca/blog/2011/02/17/self-serve-builds/)

Sure, but I think changing a button to a link is all that's required here.
Priority: -- → P3
Whiteboard: [selfserve] → [self-serve]
Blocks: 659684
I'll implement a method to cancel all builds for a revision in the API, and then expose that in the HTML.
Attached patch implete cancel by revision (obsolete) — Splinter Review
Attachment #545826 - Flags: review?(nrthomas)
Blocks: 669039
Comment on attachment 545826 [details] [diff] [review]
implete cancel by revision

>diff --git a/buildapi/scripts/selfserve-agent.py b/buildapi/scripts/selfserve-agent.py
>+    def do_cancel_revision(self, message_data, message):
...
>+        for request in requests:
>+            brid = request.id
>+            log.info("Cancelling request %i", brid)
>+            if request.claimed_at:

A lot of this loop looks like do_cancel_request(). Perhaps it can be reused ?
totally right. that's what I get for late-night coding!
Attachment #545826 - Attachment is obsolete: true
Attachment #545826 - Flags: review?(nrthomas)
Attachment #546201 - Flags: review?(nrthomas)
Comment on attachment 546201 [details] [diff] [review]
implement cancel by revision

lgtm
Attachment #546201 - Flags: review?(nrthomas) → review+
Attachment #546201 - Flags: checked-in+
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Has this been deployed yet?  I don't see any change in the self-serve interface.
Keywords: buildapi
Whiteboard: [self-serve]
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: