Page MenuHomePhabricator

Merge Harbormaster BuildCommand into BuildMessage
Open, WishlistPublic


See T13054. After those changes:

Buildables stuck in "building" despite an aborted build should get a best-effort migration if nothing else moots that (see also T10746).

Harbormaster has BuildCommand and BuildMessage. These are basically the same table. BuildCommand is sent to Build. BuildMessage is sent to BuildTarget and Buildable. These should probably just be the same table, and Build should be a valid receiver for BuildMessage.

If you arc diff --only, the buildable never leaves PENDING. A likely fix for this is to make arc call harbormaster.sendmessage(<buildablePHID>, "build") after it uploads lint and unit results if it's not going to create a revision. Currently, this method can not send messages to a Buildable and probably can't send a "build" message.

See PHI1380, which wants API access to the restart command.

See also PHI1390, which is adjacent.

See also PHI1966, which wants access to the build command.

Event Timeline

epriestley triaged this task as Wishlist priority.Feb 12 2018, 11:01 PM
epriestley created this task.

D19269 makes Harbormaster objects destructible. I've made Build destroy BuildMessage (which it doesn't receive, so this never destroys anything) but not BuildCommand (which it does receive), so that when this change is made (and it starts receiving BuildMessage instead of BuildCommand) things will just work. Until then, BuildCommand objects are technically left hanging, but destroying builds is exceptionally rare so I'm just assuming that this will probably be fixed before anyone notices.