Add an "Abort Older Builds" build step to Harbormaster


Add an "Abort Older Builds" build step to Harbormaster

Ref T13124. See PHI531. When a revision is updated, builds against the older diff tend to stop being relevant. Add an option to abort outstanding older builds automatically.

At least for now, I'm adding this as a build step instead of some kind of special checkbox. An alternate implementation would be some kind of "Edit Options" action on plans with a checkbox like [X] When this build starts, abort older builds.

I think adding it as a build step is a bit simpler, and likely to lead to greater consistency and flexibility down the road, make it easier to add options, etc., and since we don't really have any other current use cases for "a bunch of checkboxes". This might change eventually if we add a bunch of checkboxes for some other reason.

The actual step activates before the build queues, so it doesn't need to wait in queue before it can actually act. T13088 discusses some plans here if this sticks.

Test Plan:

  • Created a "Sleep for 120 seconds" build plan and triggered it with Herald.
  • Added an "Abort Older Builds" step.
  • Updated a revision several times in a row, saw older builds abort.

Reviewers: amckinley

Reviewed By: amckinley

Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam

Maniphest Tasks: T13124

Differential Revision: https://secure.phabricator.com/D19376


epriestleyAuthored on Apr 16 2018, 4:18 PM
epriestleyPushed on Apr 17 2018, 9:59 PM
Differential Revision
D19376: Add an "Abort Older Builds" build step to Harbormaster
rP665529ab60a1: Restore coverage reporting to Diffusion browse UI
T13124: Plans: 2018 Week 16 Bonus Content
Build Status
Buildable 20173
Build 27371: Run Core Tests